HTML5 lufylegend がゲームにスクロールを実装 _html5 チュートリアル スキル
lufylegend は、ActionScript 3.0 に似た構文を使用して HTML5 開発を実装する HTML5 オープン ソース エンジンで、LSprite、LBitmapData、LBitmap、LLoader、LURLLoader、LTextField、LEvent など、AS 開発者に馴染みのある多くのクラスが含まれています。 Opera、IE9、IOS、Android およびその他の一般的な環境。 lufylegend を使用すると、オブジェクト指向プログラミングを簡単に使用でき、Box2dWeb と連携して物理ゲームを作成できます。さらに、組み込みの LTweenLite イージング クラスやその他の非常に実用的な機能も備えています。 HTML5 の世界にもっと早く入りましょう。
スクロールとは何ですか?
RPG や横スクロールの戦闘をプレイしたことのある学生は、キャラクターが画面の中央まで歩くと、マップのサイズが大きいためマップが移動することを知っているはずです。キャラクターは比較的静止したままになります。これは伝説の巻物です。たとえば、下の写真は私のゲーム「Three Kingdoms Front」のスクロールです:
上記の紹介で、誰もが巻物が何であるかを理解するはずです。端的に言えば、主人公を追いかけるカメラの効果です。次に、lufylegend.js ゲーム エンジンを使用してこの効果を実現します。
原理の紹介
実際、この効果を実現する鍵は、キャラクターをどのように静止させるか、いつマップを移動させるか、そしてマップをどのように移動させるかにあります。これら 2 つの問題を検討する前に、まず、後の操作のために適切に構造化されたステージ レイヤー (および LSprite オブジェクト) を作成します。ステージの構造は次のとおりです:
- ステージ レイヤー
|
- マップ レイヤー
|
- キャラクター レイヤー
ステージ レイヤーが、マップレイヤーとキャラクターレイヤー、そしてキャラクターレイヤーはマップレイヤーの上にあります、結局、キャラクターはマップ上に立っています。子オブジェクトの座標は親オブジェクトに対して相対的なものであることがわかっているため、親オブジェクトが移動すると、子オブジェクトもそれに応じて移動します。これをまず理解する必要があります。
キャラクターを作成するにはどうすればよいですか?マップはいつ移動しますか?マップを移動するにはどうすればよいですか?おそらく、まず if(xxx){...} を使用して、キャラクターの座標が画面の中心に到達したかどうかを判断します。到達している場合は、マップ オブジェクトを移動します。こんなことされたら面倒ですよ。実際には、もっと簡単な方法があります:
スクロールしているときもスクロールしていないときも、キャラクターは移動しますが、キャラクターが画面の中央に到達してスクロールを開始すると、ステージ レイヤーは反対方向に移動し、サイズも反対になります。キャラクタの速度が同じ場合、キャンバスに対するキャラクタの移動はオフセットされ、静止しているように見えますが、マップは親クラスに従い、反対方向に移動します。これは、2 人が馬に乗って同時に会話するコスチューム映画の撮影に似ています。人と馬が前進し、カメラが同じ速度で追いかけると、人物は動いていませんが、人物の後ろの景色が動いているような写真が得られます。
次に実装コードを見てみましょう。
実装コード
以下は詳細なコメントを含むコードです:
- LInit(30, 'mydemo', 700, 480, main); //移動方向、null は移動がないことを意味します
- var
- 方向 = null; // 鳥、ステージレイヤー、背景オブジェクト
- var 鳥、ステージレイヤー、背景
- //各動きの長さ
- var ステップ
- = 5; 関数 main () { // リソースリスト
- var
- loadList = [
- {名前 : 'bird'、パス : './bird.png'}、 {名前 : 'bg'、パス : './bg.jpg'}
- ];
- // リソースをロード
- LLoadManage.load(loadList、null、demoInit);
- }
- 関数デモInit (結果) {
- //ステージレイヤーを初期化します
- stageLayer =
- new LSprite(); addChild(stageLayer) ; //背景を追加
- bg
- = new
- LBitmap(new LBitmapData(result['bg'])); bg.y = -100; stageLayer.addChild(bg);
- // 鳥たちに加わりましょう bird
- = new
- LBitmap(new LBitmapData(result['bird']));
- bird.x = 100;
- bird.y = 150; stageLayer.addChild(鳥)
- //マウスプレスイベントを追加 stageLayer.addEventListener(LMouseEvent.MOUSE_DOWN, onDown); //マウスバウンスイベントを追加
- stageLayer.addEventListener(LMouseEvent.MOUSE_UP, onUp);
- //タイムラインイベントを追加
- stageLayer.addEventListener(LEvent.ENTER_FRAME, onFrame); }
- 関数 onDown (e) {
- /**クリック位置を基準に移動方向を設定する*/
- if (e.offsetX
- > LGlobal.width / 2) {
- 方向 =
- '右';
- } else { 方向
- = '左'; } }
- function onUp () {
- // 設定方向為無方向,代表不移動
- direction = null;
- }
- function onFrame () {
- var _step, minX, maxX;
- /** 移動小鳥 */
- if (direction == 'right') {
- _step = step;
- } else if (direction == 'left') {
- _step = -step;
- } else {
- return;
- }
- bird.x = _step;
- /** 控制小鳥移動範圍 */
- minX = 0, 0 ,
- , , , ,
- , ,
- maxX = bg.getWidth()o.getWidth())
. if (bird.x
minX) {
- bird.x = minX; }else if (bird.x
- > maxX) {
- bird.x = maxX; }
- /** 移動舞台 */
- stageLayer.x = LGlobal
- /** 控制舞台移動範圍 */ minX = LGlobal
- 。 maxX = 0;
- if (stageLayer.x minX)
- stageLayer.x = minX
- ; }else if (stageLayer.x > maxX) {
- stageLayer.x =
- maxX;
}
運行結果: 大家可以到這裡查看線上示範。點選畫面左半邊控制小鳥向左移動,點選右半邊螢幕,控制小鳥向右移動。小鳥到達螢幕中央後,開始捲軸。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











H5コードのベストプラクティスには以下が含まれます。1。正しいDoctype宣言と文字エンコーディングを使用します。 2。セマンティックタグを使用します。 3。HTTPリクエストを削減します。 4.非同期負荷を使用します。 5。画像を最適化します。これらのプラクティスは、Webページの効率、保守性、ユーザーエクスペリエンスを向上させることができます。

Web標準とテクノロジーは、これまでにHTML4、CSS2、および単純なJavaScriptから進化し、重要な開発を受けてきました。 1)HTML5は、CanvasやWebstorageなどのAPIを導入し、Webアプリケーションの複雑さと互換性を高めます。 2)CSS3はアニメーション関数とトランジション関数を追加して、ページをより効果的にします。 3)JavaScriptは、矢印関数やクラスなど、node.jsおよびES6の最新の構文を通じて開発効率とコードの読みやすさを向上させます。これらの変更により、パフォーマンスの最適化とWebアプリケーションのベストプラクティスの開発が促進されました。

H5はHTML5の略語だけでなく、より広い最新のWeb開発テクノロジーエコシステムを表しています。1。H5にはHTML5、CSS3、JavaScript、および関連するAPIおよびテクノロジーが含まれます。 2.より豊かでインタラクティブでスムーズなユーザーエクスペリエンスを提供し、複数のデバイスでシームレスに実行できます。 3. H5テクノロジースタックを使用して、レスポンシブWebページと複雑なインタラクティブ機能を作成できます。

HTML5は、最新のWebページを構築するための重要なテクノロジーであり、多くの新しい要素と機能を提供します。 1。HTML5は、Webページの構造とSEOを強化するなどのセマンティック要素を導入します。 2。プラグインなしのマルチメディア要素と埋め込みメディアをサポートします。 3.フォームは、新しい入力タイプと検証プロパティを強化し、検証プロセスを簡素化します。 4.オフラインおよびローカルストレージ機能を提供して、Webページのパフォーマンスとユーザーエクスペリエンスを向上させます。

H5は、マルチメディアサポート、オフラインストレージ、パフォーマンスの最適化により、Webユーザーエクスペリエンスを向上させます。 1)マルチメディアサポート:H5と要素は、開発を簡素化し、ユーザーエクスペリエンスを向上させます。 2)オフラインストレージ:WebStorageとIndexEdDBは、エクスペリエンスを改善するためにオフラインで使用できるようにします。 3)パフォーマンスの最適化:ウェブワーカーと要素は、パフォーマンスを最適化して帯域幅の消費を削減します。

HTML5コードは、タグ、要素、属性で構成されています。1。タグはコンテンツタイプを定義し、などの角度ブラケットに囲まれています。 2。要素は、startタグ、内容、および内容などのエンドタグで構成されています。 3。属性は、開始タグのキー値のペアを定義し、ような関数を強化します。これらは、Web構造を構築するための基本ユニットです。

HTML5の重要な要素には、最新のWebページの構築に使用される、、,,,,などが含まれます。 1.ヘッドコンテンツを定義します。2。リンクをナビゲートするために使用されます。3。独立した記事のコンテンツを表します。4。ページコンテンツを整理します。5。サイドバーコンテンツを表示します。

HTML5とHTML5の略語であるHTML5とH5の間に違いはありません。 1.HTML5はHTMLの5番目のバージョンであり、Webページのマルチメディア関数とインタラクティブ機能を強化します。 2.H5は、HTML5ベースのモバイルWebページまたはアプリケーションを参照するためによく使用され、さまざまなモバイルデバイスに適しています。
