@akashic/akashic-engine
Advanced tools
Comparing version 3.14.1 to 3.14.2
@@ -61,3 +61,2 @@ import type { GlyphArea, Glyph, ImageAsset, Surface } from "@akashic/pdi-types"; | ||
missingGlyph: GlyphArea | undefined; | ||
size: number; | ||
/** | ||
@@ -64,0 +63,0 @@ * 各種パラメータを指定して `BitmapFont` のインスタンスを生成する。 |
@@ -70,2 +70,5 @@ import type { GameConfiguration } from "@akashic/game-configuration"; | ||
* prepare 中にシーンスタックを操作してはいけない点に注意。 | ||
* | ||
* 実装の都合のため、prepare を指定したシーンのロード中は画面描画が行われない。 | ||
* ローディングシーンの描画が重要になるような大規模なゲームの場合、開発者自身で prepare 相当の処理を行うローカルシーンを作成する必要がある。 | ||
*/ | ||
@@ -85,2 +88,5 @@ prepare?: (done: () => void) => void; | ||
* prepare 中にシーンスタックを操作してはいけない点に注意。 | ||
* | ||
* 実装の都合のため、prepare を指定したシーンのロード中は画面描画が行われない。 | ||
* ローディングシーンの描画が重要になるような大規模なゲームの場合、開発者自身で prepare 相当の処理を行うローカルシーンを作成する必要がある。 | ||
*/ | ||
@@ -87,0 +93,0 @@ prepare?: (done: () => void) => void; |
@@ -330,2 +330,7 @@ "use strict"; | ||
var renderers = this.renderers; // unsafe | ||
// 描画するべき一番底のシーンを先に探しておく | ||
var index = this.scenes.length - 1; | ||
while (index >= 0 && this.scenes[index].seethrough) | ||
--index; | ||
var renderBottomIndex = index; | ||
for (var i = 0; i < renderers.length; ++i) { | ||
@@ -340,5 +345,13 @@ var renderer = renderers[i]; | ||
} | ||
var children = scene.children; | ||
for (var j = 0; j < children.length; ++j) | ||
children[j].render(renderer, camera); | ||
if (scene === skippingScene) { | ||
for (var k = 0; k < scene.children.length; ++k) | ||
scene.children[k].render(renderer, camera); | ||
} | ||
else { | ||
for (var j = renderBottomIndex; j < this.scenes.length; ++j) { | ||
var children = this.scenes[j].children; | ||
for (var k = 0; k < children.length; ++k) | ||
children[k].render(renderer, camera); | ||
} | ||
} | ||
if (camera) { | ||
@@ -345,0 +358,0 @@ renderer.restore(); |
@@ -99,2 +99,9 @@ import type { Asset, CommonOffset, StorageLoadError } from "@akashic/pdi-types"; | ||
tickGenerationMode?: TickGenerationModeString; | ||
/** | ||
* シーンスタック上のこのシーンが描画される時、それに先んじてこのシーンの直下のシーンを描画するかどうか。 | ||
* このシーン自体は `seethrough` の値に関わらず常に描画されることに注意。 | ||
* ただし `seethrough` が true の時でもこのシーン以外の onUpdate は実行されない。そのため下のシーンの描画内容も更新されない。この挙動は実験的なものであり、将来的に変更されうる。 | ||
* @default false | ||
*/ | ||
seethrough?: boolean; | ||
} | ||
@@ -176,2 +183,8 @@ /** | ||
/** | ||
* シーンスタック上のこのシーンが描画される時、それに先んじてこのシーンの直下のシーンを描画するかどうか。 | ||
* このシーン自体は `seethrough` の値に関わらず常に描画されることに注意。 | ||
* ただし `seethrough` が true の時でもこのシーン以外の onUpdate は実行されない。そのため下のシーンの描画内容も更新されない。この挙動は実験的なものであり、将来的に変更されうる。 | ||
*/ | ||
seethrough: boolean; | ||
/** | ||
* 時間経過イベント。本イベントの一度のfireにつき、常に1フレーム分の時間経過が起こる。 | ||
@@ -178,0 +191,0 @@ */ |
@@ -85,2 +85,3 @@ "use strict"; | ||
}); | ||
this.seethrough = param.seethrough != null ? param.seethrough : false; | ||
} | ||
@@ -87,0 +88,0 @@ /** |
{ | ||
"name": "@akashic/akashic-engine", | ||
"version": "3.14.1", | ||
"version": "3.14.2", | ||
"description": "The core library of Akashic Engine", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
1632139
28280