Submit Search
Upload
Next2D
•
0 likes
•
92 views
Toshiyuki Ienaga
Follow
Next2D introduction materials
Read less
Read more
Software
Report
Share
Report
Share
1 of 37
Download now
Download to read offline
Recommended
Unityティーチャートレーニングデイ -認定3Dアーティスト編-
Unityティーチャートレーニングデイ -認定3Dアーティスト編-
Unity Technologies Japan K.K.
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
Hiroyuki Ohnaka
【デブサミ2010】アジリティを向上させる開発ツールの進化
【デブサミ2010】アジリティを向上させる開発ツールの進化
智治 長沢
Unity教える先生方注目!ティーチャートレーニングデイを体験しよう
Unity教える先生方注目!ティーチャートレーニングデイを体験しよう
Unity Technologies Japan K.K.
devsumi2012 17-D-1 Kinectで創る10年後のカタチ
devsumi2012 17-D-1 Kinectで創る10年後のカタチ
Kaoru NAKAMURA
Unityティーチャートレーニングデイ -認定プログラマー編-
Unityティーチャートレーニングデイ -認定プログラマー編-
Unity Technologies Japan K.K.
どうなる?Windows 8時代の業務アプリ開発
どうなる?Windows 8時代の業務アプリ開発
Yuya Yamaki
パーミッションモデルの過渡期への対応
パーミッションモデルの過渡期への対応
ak_shio_555
Recommended
Unityティーチャートレーニングデイ -認定3Dアーティスト編-
Unityティーチャートレーニングデイ -認定3Dアーティスト編-
Unity Technologies Japan K.K.
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
Hiroyuki Ohnaka
【デブサミ2010】アジリティを向上させる開発ツールの進化
【デブサミ2010】アジリティを向上させる開発ツールの進化
智治 長沢
Unity教える先生方注目!ティーチャートレーニングデイを体験しよう
Unity教える先生方注目!ティーチャートレーニングデイを体験しよう
Unity Technologies Japan K.K.
devsumi2012 17-D-1 Kinectで創る10年後のカタチ
devsumi2012 17-D-1 Kinectで創る10年後のカタチ
Kaoru NAKAMURA
Unityティーチャートレーニングデイ -認定プログラマー編-
Unityティーチャートレーニングデイ -認定プログラマー編-
Unity Technologies Japan K.K.
どうなる?Windows 8時代の業務アプリ開発
どうなる?Windows 8時代の業務アプリ開発
Yuya Yamaki
パーミッションモデルの過渡期への対応
パーミッションモデルの過渡期への対応
ak_shio_555
Android0422
Android0422
takahiko_takahashi
Cocos2d-JSはイケてる? イケてない?
Cocos2d-JSはイケてる? イケてない?
Shin Fujisawa
みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」
techtalkdwango
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
Yu Nobuoka
Cocos2d-x&CocosCodeIDE&Luaで個人開発始めました
Cocos2d-x&CocosCodeIDE&Luaで個人開発始めました
Yasuhiro Matsuda
モバイル&コンシューマ向けのシステム開発ができるPHP&Javaプログラマの皆様へ
モバイル&コンシューマ向けのシステム開発ができるPHP&Javaプログラマの皆様へ
ekushida
Kinect kihonnoki
Kinect kihonnoki
Kaoru NAKAMURA
AOA2.0を実装してみた
AOA2.0を実装してみた
Yuuichi Akagawa
GR-SAKURAのUSBホスト機能で遊ぼう
GR-SAKURAのUSBホスト機能で遊ぼう
Yuuichi Akagawa
用途に合わせたアニメーションの実装方法
用途に合わせたアニメーションの実装方法
Takao Sumitomo
HTML5でFirefox OSアプリを作ろう
HTML5でFirefox OSアプリを作ろう
Takao Sumitomo
エンジニアリング領域における KEL シンクライアントソリューションのご紹介
エンジニアリング領域における KEL シンクライアントソリューションのご紹介
Dell TechCenter Japan
プロトタイピングの潮流とデザイナーへの提言
プロトタイピングの潮流とデザイナーへの提言
Shigeru Kobayashi
はてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテスト
Yu Nobuoka
Kinect for windows sdk cpp
Kinect for windows sdk cpp
Kaoru NAKAMURA
Devsumi2013_15-c-7 アドテク・ターゲティング技術
Devsumi2013_15-c-7 アドテク・ターゲティング技術
Yuichi Ota
Cocos最新情報(2015/3/13)
Cocos最新情報(2015/3/13)
Chukong Technologies Japan
Windows 11 がやってくる - IT管理者の準備と対策
Windows 11 がやってくる - IT管理者の準備と対策
彰 村地
Open dataとハッカソンで変わる世界
Open dataとハッカソンで変わる世界
Hal Seki
実はかんたん!ゲームエンジンCocos2d-x入門
実はかんたん!ゲームエンジンCocos2d-x入門
Chukong Technologies Japan
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
Yuta Matsumura
Android Studioの魅力
Android Studioの魅力
Keiji Ariyama
More Related Content
What's hot
Android0422
Android0422
takahiko_takahashi
Cocos2d-JSはイケてる? イケてない?
Cocos2d-JSはイケてる? イケてない?
Shin Fujisawa
みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」
techtalkdwango
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
Yu Nobuoka
Cocos2d-x&CocosCodeIDE&Luaで個人開発始めました
Cocos2d-x&CocosCodeIDE&Luaで個人開発始めました
Yasuhiro Matsuda
モバイル&コンシューマ向けのシステム開発ができるPHP&Javaプログラマの皆様へ
モバイル&コンシューマ向けのシステム開発ができるPHP&Javaプログラマの皆様へ
ekushida
Kinect kihonnoki
Kinect kihonnoki
Kaoru NAKAMURA
AOA2.0を実装してみた
AOA2.0を実装してみた
Yuuichi Akagawa
GR-SAKURAのUSBホスト機能で遊ぼう
GR-SAKURAのUSBホスト機能で遊ぼう
Yuuichi Akagawa
用途に合わせたアニメーションの実装方法
用途に合わせたアニメーションの実装方法
Takao Sumitomo
HTML5でFirefox OSアプリを作ろう
HTML5でFirefox OSアプリを作ろう
Takao Sumitomo
エンジニアリング領域における KEL シンクライアントソリューションのご紹介
エンジニアリング領域における KEL シンクライアントソリューションのご紹介
Dell TechCenter Japan
プロトタイピングの潮流とデザイナーへの提言
プロトタイピングの潮流とデザイナーへの提言
Shigeru Kobayashi
はてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテスト
Yu Nobuoka
Kinect for windows sdk cpp
Kinect for windows sdk cpp
Kaoru NAKAMURA
Devsumi2013_15-c-7 アドテク・ターゲティング技術
Devsumi2013_15-c-7 アドテク・ターゲティング技術
Yuichi Ota
Cocos最新情報(2015/3/13)
Cocos最新情報(2015/3/13)
Chukong Technologies Japan
Windows 11 がやってくる - IT管理者の準備と対策
Windows 11 がやってくる - IT管理者の準備と対策
彰 村地
Open dataとハッカソンで変わる世界
Open dataとハッカソンで変わる世界
Hal Seki
What's hot
(19)
Android0422
Android0422
Cocos2d-JSはイケてる? イケてない?
Cocos2d-JSはイケてる? イケてない?
みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
Cocos2d-x&CocosCodeIDE&Luaで個人開発始めました
Cocos2d-x&CocosCodeIDE&Luaで個人開発始めました
モバイル&コンシューマ向けのシステム開発ができるPHP&Javaプログラマの皆様へ
モバイル&コンシューマ向けのシステム開発ができるPHP&Javaプログラマの皆様へ
Kinect kihonnoki
Kinect kihonnoki
AOA2.0を実装してみた
AOA2.0を実装してみた
GR-SAKURAのUSBホスト機能で遊ぼう
GR-SAKURAのUSBホスト機能で遊ぼう
用途に合わせたアニメーションの実装方法
用途に合わせたアニメーションの実装方法
HTML5でFirefox OSアプリを作ろう
HTML5でFirefox OSアプリを作ろう
エンジニアリング領域における KEL シンクライアントソリューションのご紹介
エンジニアリング領域における KEL シンクライアントソリューションのご紹介
プロトタイピングの潮流とデザイナーへの提言
プロトタイピングの潮流とデザイナーへの提言
はてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテスト
Kinect for windows sdk cpp
Kinect for windows sdk cpp
Devsumi2013_15-c-7 アドテク・ターゲティング技術
Devsumi2013_15-c-7 アドテク・ターゲティング技術
Cocos最新情報(2015/3/13)
Cocos最新情報(2015/3/13)
Windows 11 がやってくる - IT管理者の準備と対策
Windows 11 がやってくる - IT管理者の準備と対策
Open dataとハッカソンで変わる世界
Open dataとハッカソンで変わる世界
Similar to Next2D
実はかんたん!ゲームエンジンCocos2d-x入門
実はかんたん!ゲームエンジンCocos2d-x入門
Chukong Technologies Japan
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
Yuta Matsumura
Android Studioの魅力
Android Studioの魅力
Keiji Ariyama
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Saki Homma
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Saki Homma
Project 15 - Algyan May 2022.pdf
Project 15 - Algyan May 2022.pdf
YasuhiroHanda2
Cocos2d-xによる最新ゲーム開発
Cocos2d-xによる最新ゲーム開発
Chukong Technologies Japan
Visual Studio を使わず .NET する
Visual Studio を使わず .NET する
m ishizaki
【de:code 2020】 あらゆるエンジニアを支援! VS Code Meetup の紹介とハンズオンで活躍するテクニック集
【de:code 2020】 あらゆるエンジニアを支援! VS Code Meetup の紹介とハンズオンで活躍するテクニック集
日本マイクロソフト株式会社
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
normalian
XAML のこれまでとこれから、今「やる」べき意義
XAML のこれまでとこれから、今「やる」べき意義
インフラジスティックス・ジャパン株式会社
Androidプログラミング入門
Androidプログラミング入門
OESF Education
Android studio で行ってみよう!!
Android studio で行ってみよう!!
Kazuaki Ueda
Cocos2d-xおよび関連サービスについて
Cocos2d-xおよび関連サービスについて
Chukong Technologies Japan
Azure IoT Edge - EdgeAI #5
Azure IoT Edge - EdgeAI #5
Jingun Jung
3Dリッチコンテンツビジネス活用のご提案ver3.1
3Dリッチコンテンツビジネス活用のご提案ver3.1
ITDORAKU
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
Yasuhiro Yoshimura
Monaco Editor on Cloud
Monaco Editor on Cloud
Shuto Suzuki
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
健一 辰濱
SAPPORO CEDEC 2014 Visual Studio Tools for Unity
SAPPORO CEDEC 2014 Visual Studio Tools for Unity
Akira Onishi
Similar to Next2D
(20)
実はかんたん!ゲームエンジンCocos2d-x入門
実はかんたん!ゲームエンジンCocos2d-x入門
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
Android Studioの魅力
Android Studioの魅力
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Project 15 - Algyan May 2022.pdf
Project 15 - Algyan May 2022.pdf
Cocos2d-xによる最新ゲーム開発
Cocos2d-xによる最新ゲーム開発
Visual Studio を使わず .NET する
Visual Studio を使わず .NET する
【de:code 2020】 あらゆるエンジニアを支援! VS Code Meetup の紹介とハンズオンで活躍するテクニック集
【de:code 2020】 あらゆるエンジニアを支援! VS Code Meetup の紹介とハンズオンで活躍するテクニック集
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
XAML のこれまでとこれから、今「やる」べき意義
XAML のこれまでとこれから、今「やる」べき意義
Androidプログラミング入門
Androidプログラミング入門
Android studio で行ってみよう!!
Android studio で行ってみよう!!
Cocos2d-xおよび関連サービスについて
Cocos2d-xおよび関連サービスについて
Azure IoT Edge - EdgeAI #5
Azure IoT Edge - EdgeAI #5
3Dリッチコンテンツビジネス活用のご提案ver3.1
3Dリッチコンテンツビジネス活用のご提案ver3.1
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
Monaco Editor on Cloud
Monaco Editor on Cloud
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
SAPPORO CEDEC 2014 Visual Studio Tools for Unity
SAPPORO CEDEC 2014 Visual Studio Tools for Unity
Next2D
1.
Next2D 2022/02/07 @Next2D
2.
⾃⼰紹介 • Toshiyuki Ienaga •
Webの制作会社でプログラ マー/マネージャーしてます。 インフラ > バックエンド > フロントエンド > アプリ @ienagatoshiyuki @ienaga
3.
アジェンダ NoCode Toolの使い⽅(30分) Frameworkの導⼊と動作フロー(30分) ⼩休憩(5分) Q&A回答(15分)
4.
Next2Dとは Next2D(ネクストツーディー)は、JavaScriptで書かれた 2Dレンダリングエンジン「Next2D Player」、Model- View-ViewModel(MVVM)アーキテクチャを採⽤した 「Next2D Framework」、Webブラウザ上で動作する オーサリングツール「Next2D
NoCode Tool」など、開発 者の⽣産性を上げることを⽬的としたツール・ライブラリ です。 Next2D Player Next2D Framework Next2D NoCode Tool
5.
Next2D Player JavaScript FlashPlayer「swf2js」から派⽣ したプロジェクトで、2D最速エンジンを提 供することを⽬的としています。
WebGL 、 WebGL2を完全にサポートしており、開発 者は、ブラウザやデバイスの互換性対処を 気にすることなくリッチでインタラクティ ブなWebコンテンツ、およびゲームを作成 することができます。
6.
Next2D Framework 従来のCanvas/WebGLアプリケー ションでは困難だったURLによる Single Page
Application(SPA)で のシーン管理を可能にしました。ま た、開発パターンを固定化すること で可読性・共有性をシンプルにし、 効率的な開発を⾏えるNext2D専⽤ フレームワークです。
7.
Next2D NoCode Tool ノーコード開発を主体としたWebブ ラウザ上で動作するオーサリング ツール。
イメージしたアニメーショ ンを直感的に作成することができ、 書き出したデータはWebにアップ ロードすることで簡単に公開するこ とができます。 https://tool.next2d.app
8.
How to use 画像/動画/⾳声/SWFを読込む フリーハンド/雛形で図形を描く 新規MovieClipを作成する モーショントゥイーン テキストを挿⼊する フィルター/ブレンドを適⽤する プログラム(JS)を追加する 保存と書き出し
9.
動作動画 画像/動画/⾳声/SWFを読込む(https://youtu.be/Kk05qJAPx0E) フリーハンド/雛形で図形を描く(https://youtu.be/mg_DyFBXSAs) モーショントゥイーン(https://youtu.be/0rjewWy8DXM) テキストを挿⼊する(https://youtu.be/f46fJpJKFIA) プログラム(JS)を追加する(https://youtu.be/1QDAauMOnC0) フィルター/ブレンドを適⽤する https://youtu.be/sj6eljRxbQI https://youtu.be/SVdEnU6XUMg https://youtu.be/GUHZYMwM-l0 https://youtu.be/sjJ2fu8B9HE https://youtu.be/fAbTAG1I1Aw https://youtu.be/V8_iyeio8mQ https://youtu.be/krMptdKTMAs https://youtu.be/krMptdKTMAs Next2Dチャンネル
10.
Framework Quick Start npx
create-next2d-app app-name cd app-name npm start
11.
Chart Flow
12.
⽬次 stage/config設定 < routing設定とシーン遷移 NoCode Toolとの連携 ViewとViewModel callback
13.
src/config/stage.json設定 { "width": 240, "height": 240, "fps":
12, "options": { "base": ".", "fullScreen": true } } 名前 型 初期値 詳細 width number 240 表⽰領域(Stage)の幅を設定します height number 240 表⽰領域(Stage)の⾼さを設定します fps number 12 1秒間に何回描画するかを指定します 名前 型 初期値 詳細 base string . 相対パスの場合、ここで設定したURLがroot として適⽤されます。絶対パスの場合はここ で設定したURLは適⽤されません fullScreen boolean false Stageクラスで設定した幅と⾼さを超えて画 ⾯全体に描画されます tagId string null IDを指定すると、指定したIDのエレメント内 で描画を⾏います bgColor array null 背景⾊の[R,G,B,A]の配列は0〜255で指定で きます。falseは無⾊透明です optionsの設定
14.
src/config/config.json設定 { "local": { "api": { "endPoint":
"/" }, "content": { "endPoint": "/" } }, "prd": { "api": { "endPoint": "/" }, "content": { "endPoint": "/" } }, "all": { "spa": true, "loading": { "callback": "Loading" }, "gotoView": { "callback": ["callback.Background"] } } } 名前 型 初期値 詳細 spa boolean true Single Page Applicationとして、URLで シーンを制御することができます loading.callback string Loading 画⾯遷移の準備が完了するまでの間、ロー ディング画⾯を表⽰するかどうかを設定し ます。コールバックとして設定されたクラ スのstart関数とend関数を呼び出します gotoView.callback string|array ["callback.Background"] gotoView関数が終了した後にコールバック するクラスを指定できます 初期はlocal、dev、stg、prd、allと、区切られており local、dev、stg、prdは任意の環境名なので、環境に合わせて変更、もしくは追加が可能です。 国内のメジャーなプラットフォームであればgreeやmobageなどがありますが こういった、複数のプラットフォームでゲームをリリースする際などの 個別の環境変数として書き出しの出しわけが可能です。 allに設定した変数はどの環境でも使える共有変数となります。 allの固定設定
15.
⽬次 stage/config設定 routing設定とシーン遷移 < NoCode Toolとの連携 ViewとViewModel callback
16.
Chart Flow
17.
src/config/routing.json設定 ルーティングに設定できるトッププロパティは 英⼩⽂字と数字([a-z0-9])、スラッシュ(/)、ハイフン(-)、アンダースコア(_)です。 スラッシュ、ハイフン、アンダースコアをキーにCamelCaseでViewクラスにアクセスします。 例) 下記のサンプルの場合は、https://example.com/quest/listでアクセスが可能になり コンテキストにQuestListView.jsがアタッチされます。 { "quest/list": { "requests": [] } }
18.
routing.jsonの2階層のプロパティ設定 名前 型 初期値
詳細 private boolean false SPAモードで、直接のアクセスを制御をし たい時に利⽤します。trueに設定し直接ア クセスすると、redirectで設定したViewが 読み込まれます redirect string empty privateがtrueの時、ここで設定したページ を読み込みます。設定がない場合は TopViewが読み込まれます。 requests (次のページへ) array null Viewにアクセスする前に、指定したURLに リクエストを送信します。受け取った情報 は、nameをキーにnext2d.fw.responseに格 納されます
19.
requests配列のObject設定 名前 型 初期値
詳細 type string content json、content、image、customの固定値が利⽤可能です path string empty {{***}}で囲むと、config.jsonの変数を取得できます。 例){{ api.endPoint }}path/to/api name string empty nameを設定すると、設定した値をキーとして取得したデータを next2d.fw.responseに格納します。 cache boolean false nameで設定した値をキーにして、取得したデータをキャッシュします。 callback string|array null リクエスト完了後にコールバックするクラスを指定することができます。指定 したクラスのコントラクターの第⼀引数に取得した値が設定されます。model ディレクトリ直下のクラスが対象となります。 class string empty リクエストを実⾏するクラスを指定することができます。modelディレクトリ直 下のクラスが対象となり、DirName.ClassNameで設定できます (typeがcustomのときのみ呼び出されます。) access string empty リクエストを実⾏する関数へのアクセスを指定できます。publicあるいはstatic を指定することができます。 (typeがcustomのときのみ呼び出されます) method string empty リクエストを実⾏する関数を指定することができます。 (typeがcustomのときのみ起動します)
20.
シーン遷移 シーンの移動はApplicationクラスで実装されてるgotoView関数を利⽤します。 各クラスの親クラスにappというgetterを実装しており、下記の記述でシーン移動が実⾏されます。 SPAモードを有効にした場合は、URLでのシーン遷移も可能です。下記のシーン遷移は同義となります。 URLでの遷移 https://example.com/quest/list 関数での遷移 this.app.gotoView("quest/list");
21.
シーン遷移(QueryString) Next2D FrameworkではQueryStringが利⽤できます。 QueryStringの値はnext2d.fw.queryに格納され、親クラスを継承している場合はthis.queryから取得可能です。 URLでの遷移 https://example.com/quest/list?questId=10&areaName=sample 関数での遷移 this.app.gotoView("quest/list?questId=10&areaName=sample"); Queryの取得 性質上、全ての値をStringとして格納するので、numberなどはキャストして利⽤するのがお勧めです。 const questId
= this.query.get("questId") | 0; const areaName = this.query.get("areaName");
22.
⽬次 stage/config設定 routing設定とシーン遷移 NoCode Toolとの連携 < ViewとViewModel callback
23.
NoCode Toolの連携① • routing.jsonの設定例 名前
値 説明 type content contentを指定します。 path {{ content.endPoint }}content/sample.json NoCode Toolで書き出したJSONデータが保管されているURLを追記します。 name MainContent cacheを利⽤する、もしくは、レスポンスデータを任意のクラスで取得し たいケースの時は設定してください。 cache true jsonファイルのアニメーションデータは静的なデータなので、⼆度⽬から はキャッシュから再利⽤する事を推奨しています。但し、シーン数やアニ メーションの数が多い場合はメモリリークする可能性がありますので、使 い過ぎはお気をつけください。再利⽤性の⾼いものはキャッシュし、状況 などで変化するようなアニメーションはfalseに設定するのがいいかと思い ます。
24.
NoCode Toolの連携② export class
TopContent extends next2d.fw.Content { get contentName () { return "MainContent"; } get namespace () { return "TopContent"; } } get namespaceとget contentNameのgetter設定は必須となります。 contentNameでどのJSONデータかを判別させる為、routing.jsonのnameと⼀致させる必要があります。 namespaceで設定した⽂字列は、NoCode Toolで設定したシンボル名と⼀致させる必要があります。
25.
NoCode Toolの連携③ Controller AreaのLibraryタブを開き 新しいMovieClipを追加します。 追加した、MovieClipのSymbol部分をダブルクリックして get
namespaceで設定した⽂字列と同じ⽂字を追記します。 アニメーション単体で管理するのもいいですが シーン単位でアニメーションを管理した場合などに便利です。 また、クリエイターとプログラマーがシンボル名を共有していれば お互いに⼲渉する事なく作業を進められ、結合まで進められます。
26.
⽬次 stage/config設定 routing設定とシーン遷移 NoCode Toolとの連携 ViewとViewModel < callback
27.
Chart Flow
28.
ViewとViewModel viewの管理は1シーンに1View、1ViewModelが基本スタイルで、ディレクトリ構成はキャメルケースの最 初のブロックで作成するのを推奨しています。 複数のViewクラスやViewModelクラスを⽣成する際は、以下のコマンドで⾃動⽣成する事をお勧めします。 このコマンドはrouting.jsonのトッププロパティの値を分解し、viewディレクトリ直下に対象のディレクトリ がなければディレクトリを作成し、ViewとViewModelが存在しない場合飲み新規クラスを⽣成します。 npm run generate
29.
View メインコンテキストにアタッチされるコンテナの 役割を担うのがViewクラスの役割です。 その為、記述は⾄ってシンプルで、routingで設定 した値のキャメルケースでファイルを作成し、 next2d.fw.Viewを継承するのが基本のスタイルで す。特殊な⽤件がない限り、Viewでロジックを組 む事はありません export class TopView
extends next2d.fw.View { constructor () { super(); } }
30.
ViewModel 表⽰の際は、bind関数がコールされ、ページ遷移 する際はunbind関数がコールされます。 Viewに任意のDisplayObjectをbindするのが、 ViewModelの役割です。 ドメインロジックなどはsrc/modelで管理し、UI などのはsrc/componentで管理する事を推奨して います。 (こちらのデザインパターンはまだ模索中です。) export class TopViewModel
extends next2d.fw.ViewModel { constructor (view) { super(view); } unbind (view) { /** 処理をかく**/ } bind (view) { /** 処理をかく **/ } }
31.
bindの記述例 (Promise) ⾮同期に表⽰オブジェクトを追加していく Frameworkには読み込み演出もあるため、ユー ザーの多くは待機ストレスなく画⾯遷移を⾏える と思います。 また、PC/スマホの処理可能なタイミングでプロ グラムを実⾏する事で、端末にかかる負担を軽減 できるのではないかと思います。 bind (view) { return new
Promise((resolve) => { // 処理を書く resolve(value); }) .then((value) => { return new Promise((resolve) => { // 処理を書く resolve(value); } }) .then((value) => { return new Promise((resolve) => { // 処理を書く resolve(value); } }); }
32.
⽬次 stage/config設定 routing設定とシーン遷移 NoCode Toolとの連携 ViewとViewModel callback <
33.
callback Next2D Frameworkの シーン遷移時に複数の callbackのタイミングが あります。 1 callbackの実⾏は、指定 したクラスをnew演算⼦ の第⼀引数にデータを セットし、execute関数 をコールします。 2 各クラスのconstructorで 必要なデータを受け取り、 execute関数で任意の処 理を⾏うイメージです。 3 callback設定は配列も可 能です。配列にする事で 複数のcallbackを設定で きます。 4
34.
Chart Flow
35.
callbackの記述例 next2d.fw.Modelを継承する事で、Frameworkが 所持してる各種のgetterにアクセスする事が可能 になります。 constructorにはrouting.jsonのrequestsで取得し たレスポンスデータがセットされ、その後、 execute関数がコールされます 例) src/model/callbackにSample.jsを作成 export class Sample
extends next2d.fw.Model { constructor (response) { this.response = response; } execute () { /** 処理をかく**/ } }
36.
Chart Flow ⼤きく2つのフロー機能があり ⼀つは、シーン遷移とリクエストのフロー もう⼀つは、View-ViewModelのフロー View-ViewModel シーン遷移とリクエスト
37.
ご清聴ありがとうご ざいました。
Download now