0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Next2DAdvent Calendar 2021

Day 21

Next2D Frameworkのシーン遷移

Last updated at Posted at 2021-12-20

シーンの移動

シーンの移動はApplicationクラスで実装されてるgotoView関数を利用します。
各クラスの親クラスにappというgetterを実装してあり、下記のコールを行う事でシーン移動が実行されます。

this.app.gotoView("シーン名");

SPAモード

SPAモードを有効にした場合は、URLでのシーン遷移も可能です。

https://example.com/quest/list

とアクセスした場合

this.app.gotoView("quest/list");

と同義になります。

レスポンスデータ

next2d.fw.responseに格納されたレスポンスデータはgotoView関数がコールされるとリセットされ、routing.jsonに設定されたrequestsにリクエストを行い、取得した値を新たにレスポンスデータを格納します。但し、cachetrueに設定されている場合は、cacheされた情報を再利用します。

QueryString

Next2D FrameworkではQueryStringが利用できます。
下記のサンプルは同じシーンを表示する事と同義になります。

関数の場合

this.app.gotoView("quest/list?questId=10&areaId=1");

URLの場合

https://example.com/quest/list?questId=10&areaName=sample

QueryStringの値はnext2d.fw.queryに格納されます。
親クラスを継承している場合はqueryから取得可能です。
性質上、全ての値をStringとして格納するので、numberなどはキャストして利用するのがお勧めです。

const questId = this.query.get("questId") | 0;
const areaName = this.query.get("areaName");

この様に、同一のシーンで動的な変化を行いたい時などに便利です。
明日は、各シーケンスでコールされるcallback機能について記事を書きたいと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?