@akashic/akashic-engine
Advanced tools
Changelog
3.0.2
g.Player#id
の型を string | undefined
に修正Changelog
3.0.1
機能追加
g.Module#_resolvePath()
を追加
require.resolve()
を利用することで game.json をルートとする絶対パスを取得することができます。仕様変更
PlayerInfoEvent#player
を追加、 PlayerInfoEvent
の playerId
, playerName
, userData
を削除
Changelog
3.0.0
v3.0.0-beta.X の正式リリース版です。
v3.0.0-beta.37 から変更はありません。 以下は v2.6.6 からの変更点です (v3.0.0-beta.X での変更のうち、v2.X に対応するものがないものをまとめています)。 v2 系ゲーム開発者への影響や追加機能については、 チュートリアル文書 v2 からの移行 を併せて参照してください。
機能追加
g.Scene
のコンストラクタ引数に assetPaths
を追加g.Scene#asset
を追加g.PlayerInfoEvent
と g.Game#onPlayerInfo
を追加g.AudioSystemManager#stopAll
を追加g.Game#localRandom
を追加g.Game#onSceneChange
を追加g.Game#popScene()
で popする数を指定できるようにg.E#localToGlobal()
と g.E#globalToLocal()
を追加g.EventFilterController
を追加g.SurfaceUtil.drawNinePatch()
を追加g.OperationPluginManager
に register()
, start()
, stop()
を追加defaultLoadingScene
に compact
を追加仕様変更
g.E
の anchorX
, anchorY
の初期値を (0, 0) (エンティティ左上端) に変更g.Util
の一部メソッドを移動・廃止
createSpriteFromE()
を g.SpriteFactory.createSpriteFromE()
に移動createSpriteFromScene()
を g.SpriteFactory.createSpriteFromScene()
に移動asSurface()
: g.SurfaceUtil.asSurface()
に移動createMatrix()
を廃止lib/main.d.ts
から index.runtime.d.ts
に変更allowUmdGlobalAccess: true
が必要にg.SystemLabel
, g.TextBaseline
を廃止g.TickGenerationMode
を廃止。代替型 g.TickGenerationModeString
を追加g.LocalTickMode
を廃止。代替型 g.LocalTickModeString
を追加g.SceneState
を廃止。代替型 g.SceneStateString
を追加ResourceFactory#createTrimmedSurface()
を廃止g.Event#priority
を g.Event#eventFlags
に変更非推奨機能の廃止
g.game.random[0]
を廃止g.Scene#setTimeout()
, g.Scene#setInterval()
の非推奨だった引数順を廃止非推奨機能の追加
g.RandomGenerator#get()
を非推奨にg.CompositeOperaiton
を非推奨に。代替型 g.CompositeOperationModeString
を追加g.TextAlign
を非推奨に。代替型 g.TextAlginString
を追加g.FontWeight
を非推奨に。代替型 g.FontWeightString
を追加g.FontFamily
を非推奨にg.RandomGenerator#get()
を非推奨にg.NinePatchSurfaceEffector
を非推奨にその他変更
@akashic/pdi-types
として分離@akashic/pdi-common-impls
として分離仕様変更
g.E
の anchorX
, anchorY
の初期値を (0, 0) (エンティティ左上端) に変更
x
, y
) の基準はエンティティ左上端、回転・拡縮の基準はエンティティ中央」という挙動でしたが、単純化されます。anchorX
, anchorY
に null
すると再現できますが、非推奨です。将来的にこの挙動は削除されます。g.Util
の一部メソッドを移動・廃止
createSpriteFromE()
: g.SpriteFactory.createSpriteFromE()
を利用してください。createSpriteFromScene()
: g.SpriteFactory.createSpriteFromScene()
を利用してください。asSurface()
: g.SurfaceUtil.asSurface()
を利用してください。createMatrix()
: 廃止されました。 new g.PlainMatrix()
を利用してください。ResourceFactory#createTrimmedSurface()
を廃止lib/main.d.ts
から index.runtime.d.ts
に変更allowUmdGlobalAccess: true
が必要にg.SystemLabel
, g.TextBaseline
を廃止g.TickGenerationMode
を廃止
g.TickGenerationModeString
("by-clock" | "manual"
) を利用してください。g.Scene#tickGenerationMode
の型が g.TickGenerationModeString
になります。g.LocalTickMode
を廃止
g.LocalTickModeString
("full-local" | "non-local" | "interpolate-local"
) を利用してください。g.Scene#local
の型が g.LocalTickModeString
になります。g.Scene#local
が boolean だった当時 (v1 系) のコードとは互換性がなくなります。g.SceneState
を廃止
g.Scene#state
の型, g.Scene#onStateChange
の通知する型が g.SceneStateString
("destroyed" | "standby" | "active" | "deactive" | "before-destroyed"
) になります。g.game.random[0]
を廃止
g.game.random
を利用してください。g.Scene#setTimeout()
, g.Scene#setInterval()
の非推奨だった引数順を廃止
window.setTimeout()
互換の引数順を利用してください。機能追加
g.Scene
のコンストラクタ引数に assetPaths
を追加g.Scene#asset
を追加g.E#localToGlobal()
と g.E#globalToLocal()
を追加
x
, y
) を、ゲーム画面の座標系に変換できます (localToGlobal()
) 。globalToLocal()
) 。g.PlayerInfoEvent
と g.Game#onPlayerInfo
を追加
g.AudioSystemManager#stopAll
を追加
g.game.audio.stopAll()
を使うことで、全てのオーディオシステムを停止することができます。g.Game#localRandom
を追加
localRandom
が追加されます。g.Game#random
と異なり、
各プレイヤー固有の乱数が必要な場合に利用できます。local: true
を指定したエンティティのイベントハンドラ (onPointDown
など) またはそこから呼び出された処理) の中でのみ利用してください。(ゲームのグローバルな実行状態を破壊しないため)g.Game#onSceneChange
を追加
g.Game#_onSceneChange
とは動作が異なります。ゲーム開発者は onSceneChange
を利用してください)defaultLoadingScene
に compact
を追加
"compact"
の場合、ローディング画面の背景は透過され、プログレスバーが (画面中央ではなく) 右下の方に小さく表示されます。g.SurfaceUtil.drawNinePatch()
を追加
g.Game#popScene()
で pop する数を指定できるように
on〜
で始まる名前を追加しました。g.RandomGenerator#get()
を非推奨に
g.RandomGenerator#generate()
を利用してください。get(min, max)
は min
以上 max
以下の整数を、 generate()
は 0
以上 1
未満の実数を返すので変換が必要です。min
, max
が整数で min < max
であれば、
g.game.random.get(min, max)
は min + Math.floor(g.game.random.generate() * (max + 1 - min))
と等価です。g.CompositeOperation.SourceOver
の代わりに "source-over"
など、より簡潔な文字列定数を導入します。
これに伴い g.CompositeOperation
, g.TextAlign
, g.FontWeight
, g.FontFamily
を非推奨にします。enum
と文字列定数の対応は以下の表のとおりです。g.E#compositeOperation
: g.CompositeOperation | g.CompositeOperationString
になります (指定値をそのまま反映)。将来的には g.CompositeOperationString
に一本化します。g.Label#textAlign
: g.TextAlign | g.TextAlignString
になります (指定値をそのまま反映)。将来的には g.TextAlignString
に一本化します。g.Label#fontWeight
: g.FontWeight | g.FontWeightString になります (指定値をそのまま反映)。将来的には g.FontWeightString
に一本化します。g.DynamicFont#fontFamily
の型は変化しません (g.FontFamily
を含め、引き続き指定値をそのまま反映)。将来的には string | string[]
に一本化します。新旧トリガー名対応表
|v2のトリガー名 (v3 系で非推奨)|v3 のトリガー名|
|:---|:---|
|g.Game#join
|g.Game#onJoin
|
|g.Game#leave
|g.Game#onLeave
|
|N/A|g.Game#onPlayerInfo
|
|g.Game#skippingChanged
|g.Game#onSkipChange
|
|g.Scene#update
|g.Scene#onUpdate
|
|g.Scene#loaded
|g.Scene#onLoad
|
|g.Scene#assetLoaded
|g.Scene#onAssetLoad
|
|g.Scene#assetLoadFailed
|g.Scene#onAssetLoadFailure
|
|g.Scene#assetLoadCompleted
|g.Scene#onAssetLoadComplete
|
|g.Scene#stateChanged
|g.Scene#onStateChange
|
|g.Scene#message
|g.Scene#onMessage
|
|g.Scene#pointDownCapture
|g.Scene#onPointDownCapture
|
|g.Scene#pointMoveCapture
|g.Scene#onPointMoveCapture
|
|g.Scene#pointUpCapture
|g.Scene#onPointUpCapture
|
|g.Scene#operation
|g.Scene#onOperation
|
|g.E#pointDown
|g.E#onPointDown
|
|g.E#pointMove
|g.E#onPointMove
|
|g.E#pointUp
|g.E#onPointUp
|
enum と文字列定数の対応表
|enum (v3 系で非推奨)|v3でサポートする文字列定数|
|:---|:---|
|g.CompositeOperation
|"source-over"
, "source-atop"
, "lighter"
, "copy"
, "experimental-source-in"
, "experimental-source-out"
, "experimental-destination-atop"
, "experimental-destination-in"
, "destination-out"
, "destination-over"
, "xor"
<br>(TypeScript での型名は g.CompositeOperationString
)|
|g.TextAlign
|"left"
, "center"
, "right"
<br>(TypeScript での型名は g.TextAlignString
)|
|g.FontWeight
|"normal"
, "bold"
<br>(TypeScript での型名は g.FontWeightString
)|
|g.FontFamily
|"serif"
, "sans-serif"
, "monospace"
<br>(g.FontFamily
を指定できる箇所は、以前から任意のフォント名 (string) を動作保証なしで受け取っていたため、対応する型は追加されません)|
g.AssetLoadErrorType
を非推奨に
g.ExceptionFactory.createAssertionError()
の引数の一つでしたが、事実上参照されていませんでした。代わりに null
を渡してくださいg.AssetErrorLike
など interface を整理したため、本当はもはや g.ExceptionFactory
を参照する必要もありません)g.Renderer#setCompositeOperation()
の引数を変更
g.CompositeOperation
に代えて g.CompositeOperationString
("source-over" | "destination-in" | ... | "xor"
) が渡されるようになりますg.RendererLike
も同様に変わります。(利用されていないはずです)g.ResourceFactory#createGlyphFactory()
の引数型を変更
fontFamily
の型から g.FontFamily
がなくなり string | string[]
に単純化されます
"serif" | "sans-serif" | "monospace"
はサポートされる必要がありますfontWeight
の型が g.FontWeightString
("normal" | "bold"
) に変わりますg.GlyphFactory
のコンストラクタ引数が同様に変更されますg.GlyphFactory#fontFamily
, fontWeight
が同様に変更されますg.GlyphFactoryLike
も同様に変わります。(利用されていないはずです)Changelog
3.0.0-beta.37
不具合修正
g.DynamicFont
の文字が欠けることがある不具合を修正Changelog
3.0.0-beta.36
仕様変更
g.Event#priority
を g.Event#eventFlags
に変更Changelog
3.0.0-beta.35
機能追加
g.EventFilterController
を追加g.EventFilter
の第2引数に g.EventFilterController
を追加Changelog
3.0.0-beta.33
不具合修正
g.AssetLoadFailureInfo
を export するように修正Changelog
2.6.5
不具合修正
g.Scene
のタイマが同タイミングにより実行されてしまう不具合の修正。