担心图片是被我PS后的同学可以直接进入下面的地址测试:
http://www.cnblogs.com/yorhom/articles/3163078.html
由于">
ホームページ ウェブフロントエンド H5 チュートリアル HTML5 で iPhone ブート インターフェイスのサンプル コードを実装_html5 チュートリアル スキル

HTML5 で iPhone ブート インターフェイスのサンプル コードを実装_html5 チュートリアル スキル

May 16, 2016 pm 03:49 PM
html5 iphone ブートインターフェイス

今日、突然思いつき、Html5を使ってAppleのOSを模倣して、Webプラットフォーム上で動作するiosを作れないかと考えました。
もちろん、私はオペレーティングシステムを開発し、山に戻って修行するまでさらに百年待たなければなりません。今日は楽しんで、最初に起動インターフェイスを作成しましょう。
完成した写真:

写真が私によってフォトショップ加工されているのではないかと心配な生徒は、次のアドレスに直接アクセスしてテストしてください:
http://www.cnblogs.com /yorhom/articles /3163078.html
lufylegend は非常によくパッケージ化されているため、この開発は依然としてこのエンジンを使用して行われています。コードはそれほど多くないので、興味のある友達は直接見てみることができます。
index.html のコード:

コードをコピー
コードは次のとおりです:



iphone ;



>


Main.js のコード:




コードをコピー
コードは次のとおりです。 init(50,"mylegend",450,640,main);
LGlobal.setDebug(true); : "./js/Shape.js",type:"js"}、
{path:"./js/BootPage.js",type:"js"}、
{name:"wallpaper" 、パス:"./images/wall_paper.jpg"}
];
var backLayer,screenLayer,buttonLayer; ;
function main(){
LLoadManage.load(loadData,null,gameInit);
function gameInit(result){
datalist = result;
initLayer();
//iPhone シェルを追加
addShape();
//起動インターフェイスを追加
}
関数 initLayer(); 🎜 >//背景レイヤー
backLayer = new LSprite();
addChild(backLayer)
}
function addShape(){
iosShape = new Shape("IPHONE",400,600); ;
iosShape.x = 15;
backLayer.addChild(iosShape);
関数 addBack(){
bootPage() ;
bootPage.x = 40;
var WallPaperWidth = iosShape.getScreenWidth();
bootPage.addWallPaper( new LBitmapData(datalist["wallpaper"],200,480,wallPaperWidth,wallPaperHeight);
bootPage.addSlider();
iosShape.addChild(bootPage);


Shape.js のコード:





コードをコピーします


コードは次のとおりです


/*
* Shape.js
**/
function Shape(type,width,height){
var s = this; Base(s,LSprite ,[]);
s.x = 0;
s.deviceHeight = 高さ; ;
/ /シェルレイヤー
s.shapeLayer = new LSprite();
s.addChild(s.shapeLayer);
//ホームボタンレイヤー
s.homeButtonLayer( ); s.addChild(s.homeButtonLayer); // スクリーンレイヤーs.screenLayer = new LSprite();自身を表示します s._showSelf();
}
Shape.prototype._showSelf = function(){
switch(s.type){
case "IPHONE":
//シェルを描画します
varshadow = new LDropShadowFilter(15,45,"black",20);
s.shapeLayer.graphics.drawRoundRect(10,"black",[ 0,0,s.deviceWidth,s.deviceHeight,15],true,"black");
s.shapeLayer.filters = [shadow];// 画面を描画します
s.screenLayer. graphics.drawRect(0," black",[s.deviceWidth/10,s.deviceWidth/10,s.deviceWidth*0.8,s.deviceHeight*0.8],true,"white");ホームボタン
s.homeButtonLayer .graphics.drawArc(1,"black",[s.deviceWidth/2,s.deviceHeight*0.87 s.deviceWidth/10,s.deviceWidth/16,0,2*Math.PI ],true,"#191818" );
s.homeButtonLayer.graphics.drawRoundRect(3,"white",[s.deviceWidth/2-10,s.deviceHeight*0.87 s.deviceWidth/10 - 10,20 ,20,5]);
break;
}
}
Shape.prototype.getScreenWidth = function(){
var s = this; 0.8;
};
Shape.prototype.getScreenHeight = function(){
return s.deviceHeight*0.8
};
最後は BootPage.js のコードです:

コードをコピーします
コードは次のとおりです:

/*
* BootPage.js
**/
function BootPage(){
var s = this; );
s.x = 0;
s.timeLayer = new LSprite();
BootPage.prototype .addWallPaper = function( bitmapdata){
var s = this;
s.wallPaper = new LBitmap(bitmapdata);
s.addChild(s.wallPaper); 🎜>};
BootPage.prototype.addTime = function(){
var s = this;
varshadow = new LDropShadowFilter(1,1,"black",8); addChild(s.timeLayer );
s.timeLayer.graphics.drawRect(0,"",[0,0,iosShape.getScreenWidth(),150],true,"black");時間テキスト領域
s.timeLayer.alpha = 0.3;
s.timeText.x = 70;
s.timeText.y = 20; >s.timeText.size = 50;
s.timeText.weight = "太字"; >//日付テキスト領域を結合
s.dateText = new LTextField();
s.dateText.x = 110; 100;
s.dateText.color = "白";
s.dateText.filters = [シャドウ]; timeText);
s.addChild(s.dateText);
//タイムラインイベントを通じて日付を更新します
s.addEventListener(LEvent.ENTER_FRAME,function(s){
var date = new Date( );
if(date.getMinutes() if(date.getHours() s.timeText.text = "0" date.getHours() " :0" date .getMinutes();
}else{
s.timeText.text = date.getHours() ":0" date.getMinutes();
}
}else{
if( date.getHours() < 10){
s.timeText.text = "0" date.getHours() ":" date.getMinutes();
}else{
s .timeText.text = date.getHours() ":" date.getMinutes();
}
}
s.dateText.text = date.getMonth() 1 "月" date.getDate() "日";
})
};
BootPage.prototype.addSlider = function(bitmapdata){
s.addChild(s.sliderLayer); >s.sliderLayer .graphics.drawRect(0,"",[0,iosShape.getScreenHeight()-100,iosShape.getScreenWidth(),100],true,"black"); 0.3;
//スライダー フレーム レイヤーを追加します
var barBorder = new LSprite();
barBorder.y = iosShape.getScreenHeight()-70; s.addChild( barBorder);
//スライダーの説明を追加します
var moveBarCommont = new LTextField();
moveBarCommont.x = 80; = 10 ;
moveBarCommont.color = "white";
moveBarCommont.text = "スライドしてロックを解除します。";
barBorder.addChild(moveBarCommont); bar = new LSprite();
bar.x = 35;
bar.canMoveBar = false;移動イベント
bar.addEventListener(LMouseEvent.MOUSE_DOWN,function(event,s){
s.canMoveBar = true;
});
bar.addEventListener(LMouseEvent.MOUSE_UP,function(event, s) ){
LTweenLite.to(bar,0.5,{
x:35,
onComplete:function(s){
s.canMoveBar = false;
}
} );
s.canMoveBar = false;
});
s.addChild(bar)
bar.addEventListener(LMouseEvent.MOUSE_OUT,function(event,s){
LTweenLite. to( bar,0.5,{
x:35,
onComplete:function(s){
s.canMoveBar = false;
}
}); false;
});
s.addEventListener(LMouseEvent.MOUSE_MOVE,function(event){
if(bar.canMoveBar == true){
bar.x =event.offsetX - 70;
if(bar.x > 215){bar.x = 215;}
if(bar.x }
});
s.addChild(bar);
//スライダーボックスを描画します
barBorder.graphics.drawRoundRect(2,"#191818",[0,0,250,40,5],true,"black" ) ;
barBorder.alpha = 0.7;
//スライダーを描画します
bar.graphics.drawRoundRect(2,"dimgray",[0,0,70,40,5],true,"lightgray) ");
bar.alpha = 0.7;
};


Since this is just for my own entertainment, I won’t go into much detail about the code. I will only talk about the uses of Shape.js and BootPage.js. Shape.js is the class used to draw the shell of our iPhone, and BootPage.js is the class for the startup interface. The functions of the two are different, which is equivalent to Shape.js being used to handle the appearance of the hardware, and BootPage.js being used to handle the display.
I’ll leave the rest for you to see for yourself. Although the code is a bit long, it is not logical. Just read it slowly! Of course, students who don’t understand may not know about lufylegend. The following is the official website of the engine:
http://lufylegend.com/lufylegend
Engine API documentation:
http://lufylegend.com /lufylegend/api
For students who find it difficult to read code using CSDN blogs, why not use your editor to open the source code and take a look. The source code download address is as follows:
http://files.cnblogs.com/ yorhom/iphone01.rar
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

iPhone の部品アクティベーション ロックが iOS 18 RC で発見 — ユーザー保護を装って販売された修理権利に対する Apple の最新の打撃となる可能性がある iPhone の部品アクティベーション ロックが iOS 18 RC で発見 — ユーザー保護を装って販売された修理権利に対する Apple の最新の打撃となる可能性がある Sep 14, 2024 am 06:29 AM

今年初め、Apple はアクティベーション ロック機能を iPhone コンポーネントにも拡張すると発表しました。これにより、バッテリー、ディスプレイ、FaceID アセンブリ、カメラ ハードウェアなどの個々の iPhone コンポーネントが iCloud アカウントに効果的にリンクされます。

iPhoneの部品アクティベーションロックは、ユーザー保護を装って販売されたAppleの修理権に対する最新の打撃となる可能性がある iPhoneの部品アクティベーションロックは、ユーザー保護を装って販売されたAppleの修理権に対する最新の打撃となる可能性がある Sep 13, 2024 pm 06:17 PM

今年初め、Apple はアクティベーション ロック機能を iPhone コンポーネントにも拡張すると発表しました。これにより、バッテリー、ディスプレイ、FaceID アセンブリ、カメラ ハードウェアなどの個々の iPhone コンポーネントが iCloud アカウントに効果的にリンクされます。

gate.ioトレーディングプラットフォーム公式アプリのダウンロードとインストールアドレス gate.ioトレーディングプラットフォーム公式アプリのダウンロードとインストールアドレス Feb 13, 2025 pm 07:33 PM

この記事では、gate.ioの公式Webサイトに最新のアプリを登録およびダウンロードする手順について詳しく説明しています。まず、登録情報の記入、電子メール/携帯電話番号の確認、登録の完了など、登録プロセスが導入されます。第二に、iOSデバイスとAndroidデバイスでgate.ioアプリをダウンロードする方法について説明します。最後に、公式ウェブサイトの信頼性を検証し、2段階の検証を可能にすること、ユーザーアカウントと資産の安全性を確保するためのリスクのフィッシングに注意を払うなど、セキュリティのヒントが強調されています。

複数のiPhone 16 Proユーザーがタッチスクリーンのフリーズ問題を報告、おそらくパームリジェクションの感度に関連している 複数のiPhone 16 Proユーザーがタッチスクリーンのフリーズ問題を報告、おそらくパームリジェクションの感度に関連している Sep 23, 2024 pm 06:18 PM

Apple の iPhone 16 ラインナップのデバイス (具体的には 16 Pro/Pro Max) をす​​でに入手している場合は、最近タッチスクリーンに関する何らかの問題に直面している可能性があります。希望の光は、あなたは一人ではないということです - レポート

ANBIアプリの公式ダウンロードv2.96.2最新バージョンインストールANBI公式Androidバージョン ANBIアプリの公式ダウンロードv2.96.2最新バージョンインストールANBI公式Androidバージョン Mar 04, 2025 pm 01:06 PM

Binance Appの公式インストール手順:Androidは、ダウンロードリンクを見つけるために公式Webサイトにアクセスする必要があります。すべては、公式チャネルを通じて契約に注意を払う必要があります。

PHPを使用してAlipay EasySDKを呼び出すときの「未定義の配列キー」「サイン」「エラー」の問題を解決する方法は? PHPを使用してAlipay EasySDKを呼び出すときの「未定義の配列キー」「サイン」「エラー」の問題を解決する方法は? Mar 31, 2025 pm 11:51 PM

問題の説明公式コードに従ってパラメーターを記入した後、PHPを使用してAlipay EasySDKを呼び出すとき、操作中にエラーメッセージが報告されました。

OUYI iOSバージョンインストールパッケージのリンクをダウンロードします OUYI iOSバージョンインストールパッケージのリンクをダウンロードします Feb 21, 2025 pm 07:42 PM

OUYIは、ユーザーに便利で安全なデジタル資産管理エクスペリエンスを提供する公式のiOSアプリとの世界をリードする暗号通貨取引所です。ユーザーは、この記事で提供されているダウンロードリンクからOUYI IOSバージョンのインストールパッケージを無料でダウンロードし、次の主な機能をお勧めします。 。安全で信頼できるストレージ:OUYIは、高度なセキュリティテクノロジーを採用して、ユーザーに安全で信頼性の高いデジタル資産ストレージを提供します。 2FA、生体認証およびその他のセキュリティ対策により、ユーザー資産が侵害されないようにします。リアルタイム市場データ:OUYI iOSアプリはリアルタイムの市場データとチャートを提供し、ユーザーはいつでも暗号化を把握できるようにします

仮想コインを購入するためのアプリをインストールして登録する方法は? 仮想コインを購入するためのアプリをインストールして登録する方法は? Feb 21, 2025 pm 06:00 PM

要約:この記事は、Appleデバイスに仮想通貨取引アプリケーションをインストールおよび登録する方法についてユーザーをガイドすることを目的としています。 Appleは仮想通貨アプリケーションに関する厳格な規制を持っているため、ユーザーはインストールプロセスを完了するために特別な措置を講じる必要があります。この記事では、アプリケーションのダウンロード、アカウントの作成、身元の確認など、必要な手順について詳しく説明します。この記事のガイドに従って、ユーザーはAppleデバイスに仮想通貨取引アプリを簡単に設定して取引を開始できます。

See all articles