Laya Air エンジンに基づくゲーム開発の概要

HTML5とは何ですか?

狭義のHTML5

プログラマーの目には、HTML5 は、ハイパーテキスト マークアップ言語 (HTML) の新しい標準の 5 番目のメジャー リビジョンです。この標準は、8 年間の努力を経て、によってリリースされました。 2014 年 World Wide Web コンソーシアム 2016 年 10 月 29 日、HTML5 の標準仕様がついに最終決定されたと発表されました。ここ数年、多くの開発者が HTML5 の技術を次々と採用しており、Firefox、Google Chrome、Opera、Safari 4+、Internet Explorer 9+ はいずれも HTML5 をサポートしており、発表後に目にしたのは「正式版」です。

汎用化された HTML5

より多くの人にとって、HTML5 はブラウザベースの Web テクノロジー製品を指し、ダウンロードやインストールが不要で、ワンクリックで使用 (プレイ) できる Web 製品またはゲームを指します。通常、HTML5 は H5 と呼ばれますが、HTML5 と H5 が同じものだと考えている人は多くありませんが、実際には、メディアや HTML5 実践者の間では、HTML5 を H5 に短縮することが主流になっています。

熱い小さなゲーム

2018 年には、WeChat ミニゲームが爆発的に増加し、月商数千万、数十億の製品が登場しただけでなく、開発者の猛烈な流入と製品の急速な成長も見られました。同時に、広告ベースのトラフィック収益化に依存したゲーム収益モデルの開発も推進しました。

また、ゲーム内購入でお金を稼ぐのが苦手なほとんどの開発者も、楽しいゲームの作成に集中し、大多数のプレイヤーからの評価を得て、同時にトラフィックを収益化する機会を得ることができます。

さらに、Baidu、QQ Mobile、Xiaomi、OPPO\ViVO、その他の主流プラットフォームがミニゲーム キャンプに参加するよう刺激されました。とても暑いです。

でも、ミニゲームはH5なのでしょうか?いいえ。

このミニゲームには、ダウンロードやインストールが不要でインスタント プレイの特徴があり、ほとんどの Canvas および Webgl インターフェイスと互換性がありますが、標準の HTML5 ではありません。たとえば、WeChat ミニゲームの実行環境はブラウザーではなく、ブラウザーで実行することもできませんが、WeChat APP のランタイムです。

ただし、LayaAir エンジンはこれらの小規模ゲーム プラットフォームに適応できます。現在、LayaAir エンジンには、WeChat 小規模ゲーム用の適応ライブラリ、Baidu 小規模ゲーム用の適応ライブラリ、および QQ ライト ゲーム用の適応ライブラリがあります...... したがって、LayaAir エンジンを使用する開発者は、HTML5 ゲームを開発できるだけでなく、APP ゲーム (LayaAir エンジン) として公開することもできます。さまざまな小規模ゲームプラットフォームに。

HTML5 ゲームの機会と展望

業界の展望

PC では、Flash の更新と保守が停止され、HTML5 が新しい主流標準になりました。

モバイル端末ではHTML5ゲーム(ミニゲーム)が大人気となり、さまざまなプラットフォーム上でトラフィックポータルが次々と開設され、新たな戦略目標となっている。

特に、LayaAir エンジンを使用する HTML5 ゲームは、APP Android APK パッケージとしてリリースしたり、iOS appStore に置いたりすることもできます。さらに、5G時代の到来とネットワーク速度の高速化により、HTML5の読み込みのデメリットは解消されますが、トラフィックAPPから飛び出しないという利点もあります。当然のことながら、より多くの交通プラットフォームがこれを歓迎するでしょう。

つまり、HTML5 はすでに普及しているのです。今後さらに人気が高まるでしょう。

ラヤエア

LayaAir は、LAYABOX が 2016 年にリリースしたフルプラットフォーム 3D エンジン製品で、完全なワークフローと効率的な開発環境を備えています。 2D、3D、VR、AR製品の開発をサポートし、1つの開発をWeb、ミニゲーム、ネイティブAPP製品として同時にリリースできます。 100 万人を超える開発者がおり、多くの有名企業にサービスを提供しており、Web およびミニ ゲーム分野の 3D 市場における国内トップクラスの Web3D オープン ソース エンジンです。ゲーム、広告とマーケティング、教育、アニメーション、メタバース、デジタル ピープル、デジタル ツイン、スマート シティ、産業制御、シミュレーション、国防シミュレーション、オンライン ディスプレイ (展示会、不動産、文化観光) などの多くの 3D デジタル分野で広く使用されています。 、など。 LayaAir 3.0 の最新リリースは、世界初の AIGC 3D エンジンです。

基本的な紹介

LayaAir は、Web 3D グラフィックス API に基づいて 2D および 3D レンダリングを実装し、ネットワーク通信、イベントとインタラクション、マルチメディア再生、デバイス インターフェイス、コンポーネント システムなどの一般的なエンジン機能をカバーします。オープン プログラマブル レンダリング パイプライン、フルプラットフォーム (Web+ネイティブ) グラフィックス エンジン アーキテクチャ、次世代 PBR レンダリング フロー、ClusterLighting マルチライト テクノロジー、Forward+ レンダリング パイプライン、高性能並列レンダラー API アクセスなどの中核となる基盤を備えています。 。

LayaAir エンジンは、プロジェクト作成、ビジュアル編集 (UI、シーン、アニメーション、マテリアル、パーティクル、物理学、ブループリントなど)、リソース管理、コンポーネント管理、プラグイン拡張機能、プロジェクト リリースなどの効率的な完全なワークフロー ツールを統合します。ワンタイム開発とフルプラットフォームリリースをサポートします。これには、Web プラットフォーム (ブラウザ、WebView)、ミニ ゲーム プラットフォーム (Bytedance ミニ ゲーム、WeChat ミニ ゲーム、OPPO ミニ ゲーム、vivo ミニ ゲーム、Xiaomi Kuai ゲーム、Alipay ミニ ゲームが含まれます) )、ネイティブ APP プラットフォーム (Android、iOS)。

2022 年末までに、LayaAir は 100 万人を超えるプロの開発者を擁し、ByteDance、Huawei、OPPO、vivo、Xiaomi、Alibaba、Tencent、NetEase、37 Interactive Entertainment、Xiaomi、Perfect World、Dianhun Network、Coslight Games、Tom Cat、 Cheetah Mobile、Seventh Avenue、Palm Qu Technology、SenseTime、Elite Education、Tuyou、その他多くの有名企業。

適用分野

2D/3D/VR/AR Webゲーム、HTML5、APPなどのフルプラットフォームのゲーム開発をサポートするほか、3Dデジタル技術、メタバース、アプリケーションソフトウェア、広告、マーケティング、教育など多くの分野で活用可能、医療。

開発パス

  • 2016 年 6 月 30 日、フルプラットフォーム 2D/3D 開発をサポートし、UI エディターが付属する LayaAir エンジン 1.0 の正式版がリリースされました。
  • 2016 年末に LayaAir をベースに開発された最初のゲーム「Endless Knight」が発売され、WebGL グラフィックス API を使用した世界初の 3D ARPG 商用ゲームの傑作です。
  • 2017 年には、LayaAir をベースにした多数の 2D/3D 大規模ゲームがリリースされました。
  1. 2017年7月21日、Tencent Play Barにて、精緻な原画、豪華な特殊効果、爽快な戦闘感覚とスムーズなネイティブレベルのゲーム性を兼ね備えた、有名ノベルIP「Snow Eagle Lord」を使用した3D ARPGゲームが配信開始されました。パフォーマンスに優れた LayaAir 3D エンジンは、業界から多くの肯定的な評価を受けています。
  2. 2017 年 8 月 3 日、テンセントが LayaAir エンジンを使用して開発した「万民決戦」の Android 版が、WeChat およびモバイル QQ プラットフォームでの公開テストのために開始されました。
  3. 2017年10月22日、LayaAirエンジンを用いてSanqi Interactive Entertainmentが開発した『Archangel's Sword H5』がWeb、Android APP、iOS APPで同時リリースされ、リリース後24日間で収益が1億を突破した。
  • ミニゲーム市場は 2018 年に爆発的に成長しました。中国で多くのビジネス事例がある Web3D ゲーム エンジンとして、LayaAir の開発者エコシステムは 2017 年の 100,000 人から 2018 年末には 600,000 人以上に増加し、純増は 5 倍以上になりました。
  • 2018 年に「Archangel's Sword H5」は WeChat ミニゲーム バージョンをリリースし、LayaAir エンジンが収益 1 億を超える 2D 商業傑作をサポートできることを示しました。
  • LayaAir 2.0 は、2018 年 7 月 5 日に内部テストを開始し、2018 年 9 月 15 日に公開テストを開始し、国内をリードする Web3D エンジンの研究開発に全面的に投資しました。
  • 2018 年には、「Pig Run」、「Dancing Line」、「Football for All」、「Tencent Table Tennis」などの有名な事例を含む、LayaAir 3D エンジンのミニゲームの事例が 300 件以上ありました。
  • 2019 年から 2022 年まで、LayaAir 2.0 は Web3D ゲーム エンジンの業界リーダーの地位を維持し、「ウイルス撲滅」、「国家銃神ボーダーキング」、「クロス」などの多数の 2D および 3D ヒット製品の開発をサポートしました。ファイアーガンバトルキング』、『300バトル』、『僕の大剣は40メートル』、『第7機甲師団』など。
  • 2022 年 11 月 8 日に、LayaAir 3.0 の内部テストが開始されました。 AI コード生成、画像生成などの機能に加え、3.0 では LayaAir の 3D エディターの欠点が補われ、2D/3D ゲームのワンストップ開発が完全に実現され、エンジンからツールチェーンまでの完全なワークフローが確立されました。基礎となるエンジン設計層では、LayaAir 3.0 は新世代のグラフィックス API (WebGPU) をサポートし、ネイティブ APP 層は、C++ エンジン アルゴリズムとレンダリング、および開発者定義の C++ アルゴリズムをサポートします。
  • 2023 年 6 月 30 日に、LayaAir 3.0 が正式にリリースされました。これは世界初の AIGC 3D エンジンです。

製品の利点

AIテクノロジーの緊密な統合

LayaAir 3.0 IDE は最新の AI テクノロジーを深く統合し、シンプルなテキストまたは音声インターフェイスを通じてインテリジェントなヘルプ、パーソナライズされたサービス、さまざまな AIGC 機能をユーザーに提供し、プロジェクト管理、計画、アート、プログラミング機能に必要な AIGC 3D 作品を作成します。 。関連する AIGC 機能には次のものがあります。

AIのような機能を生成する
  • ロジック生成: コード生成、ブループリント生成、その他のスクリプト生成
  • 3D素材生成:3Dモデル生成、モデル面縮小、テクスチャ生成、看板生成、スカイボール
  • 3Dキャラクター生成:キャラクター生成、キャラクターリアルタイム表現
  • 3Dシーン生成:シーン補助編集、ワイルドジャイアントシーン生成
  • 2DおよびUI生成:UI2D素材生成、2D画像生成、下書きに基づくUIとスクリプトの自動生成
  • オーディオ生成: 音楽、効果音、音声の生成
エンジン内 AI 機能:
  • レンダリング: レイ トレーシング AI、小さな画像から大きな画像まで
ゲーム内の AI 機能
  • 仮想プレーヤー: チャット可能な非 NPC チームメイト
支援 AI 機能を開発します。
  • ゲーム テスト: AI を使用してゲーム テストを自動化する
  • AIプロジェクト知識ロボット

究極のパフォーマンス

優れたパフォーマンスは常に LayaAir エンジンの中心的な追求であり、目標は常に業界のリーダーであり続けることです。

最先端の Web 3D エンジン

LayaAir は 2016 年に 3D エンジンを発売しました。長年のビジネスケース技術の蓄積を経て、Web グラフィックス API をベースとした最も成熟した国内オープンソース 3D エンジンです。同社は常に、Web およびミニ ゲームの分野におけるオープンソース 3D エンジンのリーダーであり続けています。

成熟した豊富なツールチェーン

完全なエンジンと統合開発環境エコシステムを備えています。 UIエディター、3Dシーンエディター、3Dマテリアルエディター、3Dパーティクルエディター、3Dブループリントエディター、アニメーションエディター(2D+3D)、物理エディター(2D+3D)、プラグインシステム、リソースモールなどをサポート。コードとアートデザイン。

完全なプラットフォームのリリース

1 つの開発で、Web プラットフォーム (ブラウザー、WebView)、ミニゲーム プラットフォーム (Bytedance ミニ ゲーム、WeChat ミニ ゲーム、OPPO ミニ ゲーム、vivo ミニ ゲーム、Xiaomi Kuai ゲーム、Alipay ミニ ゲーム)、およびネイティブ APP プラットフォーム (Android、 iOS)。

幅広い用途

ゲーム、広告とマーケティング、教育、アニメーション、メタバース、デジタル ピープル、デジタル ツイン、スマート シティ、産業制御、シミュレーション、国防シミュレーション、オンライン ディスプレイ (展示会ディスプレイ、不動産、文化など) などの多くの 3D デジタル分野に適しています。観光)など。

1.ラヤエアIDE

LayaAirIDE 1.0 と 2.0 はどちらも LayaAir エンジンによって開発されており、ビジュアル UI 編集、アニメーション編集、コード編集などの機能を実装するための LayaAir UI システムに基づいており、ネイティブのデスクトップ ソフトウェアと何ら変わりません。

2. バーバリー WeChat H5 広告

上海碧宜がLayaAirエンジンを使用して開発した高級ブランド「バーバリー」の新年広告がWeChatモーメンツに登場し、一時話題となった。 H5 全体に個人カスタマイズ、製品表示、新年の挨拶広告などの要素が統合され、絶妙な画質、スムーズな体験、優れたビデオ再生パフォーマンスが統合され、バーバリーの英国の優雅さが表現されています。

3. 深セン地下鉄路線図

2016 年、深セン地下鉄は市民の旅行を容易にするために、LayaAir エンジンを使用してオンラインの地下鉄運行ネットワーク ルート マップを作成しました。これにより、市民はリアルタイムで移動や駅間の乗り換えを確認できるようになり、旅行ルートを明確に計画できるようになりました。 。

LayaAirの機能紹介

LayaAir エンジンには主に、エンジン ライブラリと LayaAir IDE という 2 つのコア部分が含まれています。

LayaCloud と LayaNative はエンジンの環境に優しい組み合わせ部分です

LayaAir2.0エンジンライブラリ関数

LayaAir 2.0 エンジンは、次のような 1.0 の元の機能を維持しているだけではありません。

スプライト、ベクター グラフィックス、テキスト、リッチ テキスト、ビットマップ フォント、アニメーション、ボーン、オーディオとビデオ、フィルター、イベント、ローディング、イージング、時間、ネットワーク、UI システム、物理システム、TiledMap、プロトコル、その他の API。

また、組み込みの box2D 物理エンジン、コンポーネントのサポート、および次のような 150 以上の 3D 関数も追加されています。

主な新しい公式マテリアルには、PBRStandardmaterial、PBRSpecularmaterial、Unlitmaterial マテリアルが含まれます。

テクスチャに関しては、各種テクスチャパラメータ設定(mipmap、format、wrapModeU、wrapModeV、filterMode、anisoLevel)の追加、テクスチャアップロードピクセルインターフェースの追加、GPUテクスチャ圧縮が追加されています。

アニメーションに関しては、Animator アニメーション融合機能 CrossFade の追加、アニメーションのマルチレイヤー混合再生の追加、アニメーション更新メカニズムのリアルタイム補間調整により、メモリとアニメーションの流暢性のパフォーマンスが大幅に低下するなど、さまざまな機能が追加されています。マテリアル属性アニメーションが追加されました

2D および 3D 製品の開発をサポートし、Web (ブラウザ、webView)、ネイティブ APP (IOS、Android)、ミニゲーム (WeChat、Mobile QQ、Baidu、Toutiao、Douyin、Xiaomi、OPPO、vivo、Huawei) の同時公開をサポートします。 )、およびその他のバージョン。

LayaAir2.0 IDEの機能

LayaAir2.0 IDE には主にプロジェクト管理コード開発エディタ< a i が含まれています。 =4>、ビジュアル エディタサードパーティ ツール チェーン サポート ツール待って。

主な機能は次のとおりです。

  • コード開発
  • UIとシーンエディター
  • シーン管理 (2.0 の新機能)
  • パーティクルエディター
  • アニメーションエディター
  • 物理エディター (2.0 の新機能)
  • コンポーネントのサポート (2.0 の新機能)
  • 3D サポート (2.0 の新機能)
  • LayaCloud プロジェクトのサポート (2.0 の新機能)
  • スクリプト拡張子
  • デフォルト
  • アプリのパッケージ化
  • JS の難読化と圧縮
  • サードパーティのツールチェーン変換ツール (Unity3D、TiledMap、Spine、Keel...)

Laya2.0 IDE は LayaAir 1.x バージョンの記述方法と互換性があり、2D プロジェクトでは、元のプロジェクトをほとんど変更せずに 2.0 エンジンにアップグレードできます (アップグレード前にバックアップすることをお勧めします)

Laya2.0 IDEは、コンポーネントスクリプトとシーン管理を実装して開発されています。シーンとページコンポーネントはIDE上で編集されます。スクリプトを追加することで、プロジェクト開発はプログラム、アート、企画の共同作業を促進し、また役立ちますLaya 開発者にとって、Laya の方が簡単に始めることができ、開発方法もよりフレンドリーです。

LayaNative関数

LayaNative は、LayaAir エンジン用のモバイル ネイティブ アプリの開発、テスト、リリースのための完全な開発ソリューションですが、LayaAir エンジンに限定されません。 LayaNative はコア ランタイムとしての LayaPlayer に基づいており、リフレクション メカニズムとチャネル ドッキング ソリューションを使用して、開発者にネイティブ アプリでの二次的な開口部とチャネル ドッキングを提供し、開発者向けに HTML5 プロジェクトをパッケージ化して公開するためのテスターと構築ツールを提供します。ネイティブアプリ。

LayaNative2.0ではコードの再構築が行われ、バージョン1.0と比べてパフォーマンスが大幅に向上しました。

1. LayaNative1.0の比較

2D

3D

アンドロイド

10%増加

90%改善

IOS

13% 改善

270% 改善

2. 他の国内一般ランタイムエンジンとの比較

2D

3D

アンドロイド

85% 改善

90%改善

IOS

240% 改善

270% 改善

拡張性に関しては

1. LayaNative 2.0 はシングル スレッド モードとデュアル スレッド モードをサポートしており、開発者は自分のプロジェクトの実際のテスト結果に基づいてどちらのモードを使用するかを決定します。

シングルスレッド モード: JS と Render は 1 つのスレッドで実行されます。

    • 利点: 操作に遅延がありません (例: タッチ、ボタン)。
    • 短所: パフォーマンスはデュアルスレッド モードほど良くありません。

デュアルスレッド モード: JS と Render は別のスレッドで実行されます。

    • 利点: シングルスレッド バージョンよりも高いパフォーマンス。
    • 短所: 操作には最大 1 フレームの半フレームの遅延が発生します (例: タッチ、ボタンの押下)。

2. グラフィックス カードのテクスチャ圧縮をサポートしているため、レンダリング効率が向上するだけでなく、ビデオ メモリの使用量も削減されます。

3. 二次開発が最適化され、開発者にとって理解しやすく、使いやすくなりました。

使いやすさの観点から、より便利なデバッグ機能を提供

Android プラットフォームは実機上で JavaScript をデバッグできます

LayaNative1.0 バージョンでは、プロジェクト内の JavaScript コードをデバッグするために console.log 関数またはアラート関数のみを呼び出すことができます。 layaNative2.0 バージョンでは、Chrome ブラウザを使用した JavaScript コードのデバッグが正式にサポートされています。 Chrome のデバッガでコードにブレークポイント、コード追跡、その他の機能を追加できます。

テスト アプリはプロジェクトを開始するための QR コードのスキャンをサポートしています

開発者がより迅速にデバッグおよび開発できるようにするために、テスト アプリの新バージョンでは、QR コードをスキャンしてアプリを起動する機能が追加され、デバッグ中に URL を手動で入力する必要がなくなりました。

他の

2.0 の新機能の詳細については、Layabox の WeChat 公開アカウントの記事をご覧ください:https://mp.weixin.qq.com/s/lHI3tCozcFd_8fZ1PFJ8Xg

開発プロセス中にエンジンやツールに関するバグや提案がある場合は、コミュニティにアクセスして送信してください:http://ask.layabox.com

 LayaAir エンジン クイック スタート ガイド [初心者必読]

LayaAir エンジンを初めて使用する開発者向けに、この記事ではいくつかの学習ガイドラインを提供します。ようこそお読みください。

1. 開発言語の選び方

LayaAir エンジンは、ActionScript3 (AS3)、TypeScript (TS)、JavaScript (JS) の 3 つの言語での開発をサポートしているため、どの言語が優れているでしょうか?エンジンを初めて使用する初心者は混乱することがよくあります。ここで簡単に紹介します。

JS言語について

誰もが注意する必要があるのは、JS 言語は簡単に始めることができますが、型付けが弱い言語であるため、開発とデバッグの難しさ、大規模なプロジェクトの管理や複数人での共同作業が JS 言語ほどではないということです。 IDE で検出できる TS と AS3、型と文法言語。コードが増えると、JS が誤って間違って書かれると、IDE にプロンプ​​トが表示されなくなります。問題は実行時にのみ発見されます。開発者は、小さな間違いをチェックするだけで多くの時間を費やすことが多く、時間コストがかかります。したがって、JS 言語開発はサポートされていますが、この言語を中規模または大規模プロジェクトの開発に使用することはお勧めできません。

TS言語について

TS 言語は、LayaAir エンジンの公式に推奨される開発言語であり、LayaAir エンジン 2.2 エンジン以降のソース コードでも使用されている言語です。公式 2.0 エンジンのビデオ指導では、TS 言語のみが指導に使用されます。

AS言語について

AS言語はLayaAirバージョン2.2以前のエンジンソースコード言語で、かつてWebゲームの時代はAS3言語が主流でしたが、AdobeがFlashを廃止することを正式に発表したことにより、この言語もまた次の状況に入るということになります。誰もそれを維持していません。これらの新しい言語機能は当然サポートが難しく、この言語を使い続けるとエンジンに支障をきたすことは間違いありません。したがって、LayaAir エンジンのソース コード言語は変更されましたが、2.X エンジンと AS 言語バージョンは引き続き互換性があり、維持されます。しかし、3.x は将来的にこの言語のサポートを放棄することは間違いありません。したがって、開発者は新しいプロジェクトを作成するときに AS 言語を使用しないことをお勧めします。

ローカル開発環境のリマインダー

多くの開発者が TS のグローバル開発環境をインストールしていますが、この記事では、開発者が VSCode のシェル コマンド ラインで npm ローカル環境インストール コマンドを再度実行することをお勧めします。 npm install を実行して、エンジンのコンパイルが正常に動作することを確認します。

Gulp グローバル環境もインストールする必要があります。基本的には LayaAir 開発者がインストールします。そうでない場合は、Layabox の公式ドキュメントを確認してください。ここでは説明しません。

VSCode 関連ドキュメント: 「VSCode 効率的な開発ワークフロー構成ガイド

3.3 LayaAir ソース コード プロジェクト構造の説明

VSCode を使用して、複製された LayaAir エンジン ディレクトリを開きます。ローカル開発環境をインストールした後のルート ディレクトリ構造は次の図のようになります。

 3.3.1 bin目录

bin ディレクトリは、ソース コードのコンパイル後の実行ディレクトリです。これは、JS ライブラリ デバッグ用の 2 つのコンパイル方法を含む、エンジン サンプルの素早い切り替えとデバッグに使用されます。 。ここでテスト サンプルのデモを表示してデバッグすることで、エンジンに動作に影響を与えるバグがあるかどうかを確認します。 ロールアップtsc

一般リソース ディレクトリres と 3D 物理 js については、ここでは詳しく説明しません。ここでは重点的に説明します。tsc およびロールアップ エントリ ファイル。

tsc デバッグ関連

tsc デバッグ モードは、LayaAir オープン ソース プロジェクトに設定されたデフォルトのデバッグ モードです。F5 キーを使用して VSCode でデバッグすると、自動的に tsc モードでコンパイルされ、リリースされた js は bin /tsc ディレクトリ。 indexTSC.html は、tsc モードのサンプル エントリ ファイルです。 ロールアップデバッグ関連

tsc の単一ファイルのコンパイルと比較して、rollUp コンパイルは完全な js ライブラリを形成します。

ロールアップ コンパイルを使用する場合は、最初にロールアップ グローバル環境をインストールする必要があります。コマンドは npm i rollup -g です。

ロールアップ環境を準備し、VSCode シェル コマンド ラインの src/samples ディレクトリに入り、 を実行します。 3 >rollup -c  を実行すると、rollup の js エンジンとサンプル ライブラリをコンパイルして生成できます。

初めてロールアップ コンパイルを使用する場合、コンパイルには通常 4 ~ 5 分、場合によっては 10 分以上かかります。これはコンピュータのパフォーマンスの違いにより異なります。直接終了せず、しばらくお待ちください。最初のコンパイル キャッシュの後は、その後のコンパイルが高速になります。

コンパイル後、以下に示すように、bin ディレクトリにロールアップの例に関連する構造が表示されます。

bundle.js はエンジンとサンプルを統合する JS ライブラリです。indexRollUp.html はロールアップです。デバッグモード用のサンプルエントリファイル。

エントリーファイルの実行

tsc コンパイル モードかロールアップ コンパイル モードか、開発者はどちらかを選択できます。

コンパイル後、anywhere を使用してローカル Web サービスを開始することをお勧めします。コマンド 任意のポート番号。競合しない限り、ポート番号を自分で定義します。

anywhere がローカルにインストールされていない場合は、次のコマンドを使用してインストールできます: npm i anything -g

Web サービスの実行後。コマンドラインで URL を押して Chrome ブラウザでアクセスし、tsc コンパイル モードまたはロールアップ コンパイル モードに対応する html エントリ ファイルをクリックします。

3.3.2 src目录

src ディレクトリには、エンジン ソース コード、エンジン テスト ケース ソース コード、プラグイン ソース コードなどが含まれます。

ビルドツール

エンジン チームがテストに使用する内部ロールアップ プラグイン ツール。現時点では、 開発者は注意を払う必要はありません。

ケーステスト

エンジン チームが自動エンジン テストを構築するために使用するプロジェクトは、現在まだ開発と調整中であり、将来名前が変更される可能性があります。 開発者は注意を払う必要はありません。

拡張子

エンジン プラグインのソース コード ディレクトリには、現在debugtool プラグインのみがあります。

ドキュメントを生成する

エンジン API ドキュメントの生成に使用されるプロジェクトのソース コード。このディレクトリ内の run.bat をコマンド ラインにドラッグ アンド ドロップし、直接実行して API ドキュメントを生成します。生成された API ドキュメントは doc の下にあります。

ラヤエア

LayaAir エンジンのソース コード ディレクトリ。エンジンのバグ修正や機能追加はすべてここで行われます。最後に、コンパイル ツールで使用するための js ライブラリが生成されます。

パブリッシュツール

AS コンパイル ツール、生成された AS エンジン シェル ファイルおよびコード プロンプト用の d.ts ファイルを保存するディレクトリ。

コマンド ラインから 同じレベルのディレクトリにpublish.bat を入力し、 を実行します。ディレクトリに公開します。bat を解放して生成できます。

サンプル

エンジン テスト ケースのソース コード プロジェクト ディレクトリ。bin ディレクトリ内のテスト デモは、ここでプロジェクト ソース コードをコンパイルしたものです。

ルートディレクトリ内のファイル
gulpfile.js ファイル

jsのgulpタスクファイルを公開します。

ライセンスファイル

Layabox エンジン ソフトウェアの使用に関する声明

package.json ファイル

npm の package.json 設定。ここには LayaAir ソース コード プロジェクトの説明情報があり、プロジェクトの git ウェアハウス アドレス、コミュニティ アドレス、シェル コマンド エントリ、エンジン作成者、プロジェクトの依存環境の最小バージョンなどが説明されています。

現在 package.json に組み込まれている 3 つのスクリプト コマンドに注目してみましょう。これらは、publishTool ディレクトリとgenerateDoc ディレクトリ内のバット実行とエンジン ソース コードのコンパイルです。

package.json で構成されたシェル コマンド エントリを通じて、XX.bat を実行するディレクトリに入る方法を知る前に、次のことができます。また、 ルート ディレクトリでnpm run script name を実行して、関連するスクリプトを呼び出します。

たとえば、npm run build は、publish.bat を実行し、npm run buildDoc はエンジンのソース コードをコンパイルします。以下に示すように。 npm runco​​mpile はドキュメントの run.bat を実行し、

4.LayaAirエンジンのソースコードコンパイルについて

前のセクションでは、コンパイル関連のコマンドについて簡単に説明しました。このセクションでは、エンジンが js ライブラリにコンパイルされる方法に焦点を当てます。

開発者は日常の開発中に、F5 キーを使用してエンジンのコンパイルを行うことができます。これは、F5 デバッグ構成ファイル ( launch.json) をデフォルトでノード モードに設定し、 LayaAirBuild < を設定しているためです。 /span> の gulp タスク。

これは実際には、前に説明したシェル コマンドと同じです。npm runco​​mpilepackage.json 構成ファイルを開くと、compileLayaAirBuildでもあります。

LayaAirBuild の gulp タスクをさらに理解するために、ルート ディレクトリgulpfile.jsを直接開きます。

この時点で、LayaAirBuild タスクが再び実行されたtscLayaAirShaderCopy が確認できます。 これら 2 つのタスクはまとめて実行されます。

gulpfile.jstsc と < /span>tsc.cmd という名前の gulp タスクが、ローカルの tscタスク。 LayaAirShaderCopyLayaAirShaderCopy という名前の gulp タスクは、シェーダ関連ファイルのコピーに使用されます。

最初のコンパイルでない限り、gulp タスク LayaAirBuild を実行する必要があります。つまり tsc タスクと LayaAirShaderCopy タスクの両方を実行する必要があります。その後の毎日のコンパイルでは、シェーダーが変更されない場合は、サンプルとエンジンの gulp コンパイル タスク (tsc) を実行するだけです。ロールアップ コンパイル モードの場合は、src/samples ディレクトリでシェル コマンド rollup -c の場合は、サンプルとエンジンをコンパイルすることもできます。

例が変更されていない場合は、エンジンをコンパイルして vscode のショートカット キーを使用することもできます。 Ctrl +  をコンパイルします。 tsc :Build - src/layaAir/tsconfig.json タスク パネルを開き、B + Shift

まとめ:

この時点で、laya Air2.0 について予備的な理解ができました。次に、基本概念、テキスト、ビットマップ、ベクター グラフィックスなど、laya の基礎を紹介します。

おすすめ

転載: blog.csdn.net/Vince_13/article/details/131791556