stage.jsの紹介
Stage.jsは、クロスプラットフォーム2D HTML5ゲーム開発用の軽量のオープンソースJavaScriptライブラリです。 DOMのようなモデルを使用してキャンバスを操作し、アプリケーション自体のレンダリングサイクルを管理します。このチュートリアルでは、Stage.jsのコア機能を紹介して、簡単に開始するのに役立ちます。
キーポイント
- Stage.jsは、Cross-Platform 2D HTML5ゲーム開発用の軽量のオープンソースJavaScriptライブラリであり、DOMのようなモデルを使用してキャンバスを処理し、アプリケーションのレンダリングサイクルを独立して管理します。
- ライブラリは、ノードポジショニング(ノードが親ノードに付着する方法を決定する)、インタラクティブアップデート用のマウスおよびタッチイベント、スムーズなトランジションのためのアニメーション、グラフィックディスプレイやアニメーションテクスチャコレクション用のグラフィックディスプレイとアニメーションなどの複数の機能を提供します。
- stage.jsは使いやすく直感的であり、複雑なコーディングやWebグラフィックスの広範な知識なしにインタラクティブなWebアプリケーションまたはゲームを作成したい開発者に適しています。 NPM(ノードパッケージマネージャー)を使用してインストールでき、レスポンシブデザインのおかげで、デスクトッププラットフォームとモバイルプラットフォームと互換性があります。
インストールして
を使用します最初に、stage.jsライブラリをダウンロードします。 GitHubリポジトリから最新バージョンを入手できます(初心者の例がいくつか含まれています)。必要に応じて、CDNから直接ロードすることもできます。コアファイルを含めた後、独自のJavaScriptファイルを追加する必要がありますが、ライブラリの前にアプリケーションファイルを含めないように注意する必要があります。
ステージでアプリケーションを作成することは、コールバック関数を<🎜> <🎜>
Stage()
ノードの位置決めにより、ノードが親ノードに添付されている方法が決まります。ノードポジショニングを使用して設定できる多くのオプションがあります。それらのいくつかは、サイズ、位置、アライメント、および変換です。これが簡単な例とその説明です。
最初にビューポートのサイズを指定します。 「ホイール」と呼ばれる画像wheel.pngをステージに取り付けます。その後、「ハンドル」を使用して、この画像またはノードの初期位置を設定します。任意のノードで「ハンドル」し、親ノードのアライメントポイントで指定されたオフセットに自分自身を配置します。 「ハンドル」と「整列」の両方が相対単位として指定されています。たとえば、0は左上隅、1は右下隅です。上記のコードは、ビューポートの中央にホイールを配置します。
Stage(function (stage) { stage.viewbox(700, 700); Stage.image('wheel') .appendTo(stage) .pin('handle', 0.5); }); Stage({ name: 'wheel', image: 'wheel.png' });
センターから特定の水平距離に画像を配置するには、以下に示すように「OffsetX」を使用できます。
<🎜> <🎜>
上の距離は300ピクセルではなく、ビューポートの3/14倍のサイズであることに注意してください。スケーリング、傾斜、回転などのノードの他の値を設定することもできます。特定の方向(Horizontalなど)でスケーリングするには、Scalexを使用できます。次のコードスニペットは、ホイールを水平方向に1.4回スケーリングします。
Stage(function (stage) { stage.viewbox(700, 700); Stage.image('wheel') .appendTo(stage) .pin('handle', 0.5); }); Stage({ name: 'wheel', image: 'wheel.png' });
回転、ズーム、およびチルトは、デフォルトでは回転点としてノードの中心になります。次の方法を使用して、ノードの異なる回転ポイントを設定することもできます。
Stage.image('wheel') .appendTo(stage) .pin({ handle: 0.5, offsetX: 300 });
マウスとタッチイベント
ユーザーインタラクションでノードを更新するには、さまざまなマウスとタッチイベントを使用できます。上記のホイールの例を続けて、次のコードを書くことができます:
Stage.image('wheel') .appendTo(stage) .pin({ handle: 0.5, scaleX: 1.4 });
などのこれらのイベントを定義できます。更新されたコードは次のとおりです
Stage.Mouse.CLICK = 'click';
node.pin({ pivotX: x, pivotY: y });
Stage.Mouse.MOVE = 'touchmove mousemove';
Tween Animationは、ノードの位置決め値にスムーズな遷移を適用します。これにより、関連するノードの位置またはサイズの突然の変化が防止されます。たとえば、以下のコードは、Pi Radiansでホイールを突然回転させ、クリックするたびにその位置を600に変更します。 ただし、Tweenメソッドを追加すると、遷移が滑らかになる可能性があります。
緩和方法、期間、遅延など、多くのオプションが利用可能です。上記のコードでは、期間を3000ミリ秒に設定し、緩和機能をバウンスしました。さらに、線形、クワッド、キュービック、クォートなど、さまざまな緩和関数を使用できます。遅延を設定すると、指定された遅延後に遷移が開始されます。アニメーションが完了した後にノードが不要な場合は、
var wheelNode = Stage.image('wheel').appendTo(stage); wheelNode.pin({ 'handle': 0.5 }); wheelNode.on('click', function () { // 在此处对轮子执行某些操作。 });
wheelNode.on(click, function () { // 在此处对轮子执行某些操作。 });
tween.remove();
var wheelRotation = Math.PI; var wheelPosition = 300; wheelNode.on('click', function () { wheelRotation = -wheelRotation; wheelPosition = -wheelPosition; this.pin({ rotation: wheelRotation, offsetX: wheelPosition }); });
戦士をアニメーション化するには、次のコードが必要です。それを速くするために、FPSを増やすことができます:
など、他にも多くの方法があります。これにより、wheelNode.on('click', function () { wheelRotation = -wheelRotation; wheelPosition = -wheelPosition; this.tween(3000) .pin({ rotation: wheelRotation, offsetX: wheelPosition }) .ease('bounce'); });
フレームに直接移動します。
ntween.done(function () { // 在此处执行您的操作。 });
nanim
フレームを前方または後方に移動することもできます。 gotoFrame(n)
概要
この入門チュートリアルでは、stage.jsを開始するために必要なすべてをカバーします。議論されている概念は、基本的な文字アニメーションを作成し、Spritesを使用してユーザーと対話するのに役立つはずです。このライブラリの詳細については、公式Webサイトからご覧ください。また、GitHubページからファイルをダウンロードすることもお勧めします。ダウンロードファイルに含まれるデモは、問題をさらに明確にします。
(FAQセクションをここに追加する必要があります。コンテンツは入力テキストのFAQセクションと同じですが、必要に応じて少し書き直して調整できます)
以上がstage.jsの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホット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)

ホットトピック











フロントエンドのサーマルペーパーチケット印刷のためのよくある質問とソリューションフロントエンド開発におけるチケット印刷は、一般的な要件です。しかし、多くの開発者が実装しています...

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

スキルや業界のニーズに応じて、PythonおよびJavaScript開発者には絶対的な給与はありません。 1. Pythonは、データサイエンスと機械学習でさらに支払われる場合があります。 2。JavaScriptは、フロントエンドとフルスタックの開発に大きな需要があり、その給与もかなりです。 3。影響要因には、経験、地理的位置、会社の規模、特定のスキルが含まれます。

この記事の視差スクロールと要素のアニメーション効果の実現に関する議論では、Shiseidoの公式ウェブサイト(https://www.shisido.co.co.jp/sb/wonderland/)と同様の達成方法について説明します。

JavaScriptを学ぶことは難しくありませんが、挑戦的です。 1)変数、データ型、関数などの基本概念を理解します。2)非同期プログラミングをマスターし、イベントループを通じて実装します。 3)DOM操作を使用し、非同期リクエストを処理することを約束します。 4)一般的な間違いを避け、デバッグテクニックを使用します。 5)パフォーマンスを最適化し、ベストプラクティスに従ってください。

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

同じIDを持つ配列要素をJavaScriptの1つのオブジェクトにマージする方法は?データを処理するとき、私たちはしばしば同じIDを持つ必要性に遭遇します...

Zustand非同期操作のデータの更新問題。 Zustand State Management Libraryを使用する場合、非同期操作を不当にするデータ更新の問題に遭遇することがよくあります。 �...
