GameStage
- HorizonalScrollStageClass
-StageObject
- MovableStageObjectClass
- CharacterClass
- OperatedCharacterClass
- BlockStageObjectClass
+.tickCount
+.manager
+.mainCanvas
+.debugCanvas
+.mainContext
+.debugContext
+.stageObjectList
+.globalStageObjectList
+.collisionMapCanvas
+.collisionMapContext
+.background
+.userControlledCharacter
+-keyDown
+keyUp
+timerTick
+draw
+drawAsPoint
+drawBackground
+runStage
+stopStage
+addStageObject
+removeStageObject
+eachStageObject
+collideJudge
+moveTo
+eachOwnStageObject
+getGlobalStageObject
++---HorizonalScrollStageClass
+ .scrollX
+ .scrollMaxX
+ -getScrollLocation
+ -scrollTo
+ +---PCDSLStageClass
+
+*StageObjectのコンストラクタはfunction(ownerStage, constructorArgs)の形式に統一する。
+StageObject(ownerStage, args[])
+.className:(String)このオブジェクトのコンストラクタの名前
+.ownerStage:(GameStage)このオブジェクトが所属するステージのインスタンス
+.origin:(Point2D)左上隅の座標
+.size:(Point2D)右下を正とするサイズ
+.attribute:(Array)動的な属性
+.constructorArgs:(Array)コンストラクタへの定数引数
+.ownerUID:(number)所有者のUID
+.objectID:(number)サーバーにおける管理番号(0ならばローカルオブジェクト)
+.isPhantom:(bool)衝突判定の必要がない場合true;
+-tick():単位時間ごとの処理
+-draw():描画処理
++---MovableStageObjectClass(ownerStage, args[])
+ .movingSpeed:(Point2D)移動速度
+ .movingFriction
+ .hysteresis
+ .collideFlag
+ .gravity
+ .collisionMarginTop
+ .collisionMarginLeft
+ .collisionMarginRight
+ .collisionMarginBottom
+ -tick()
+ -moveTo(x, y)
+ -isCollided(obj, x, y)
+ +---CharacterClass(ownerSstage, args[imgAry0, ... ])
+ .interval
+ .imageState
+ .imageIndex
+ .imageList
+ .imageState
+ .isFirst
+ .lastImage
+ .direction
+ +---OperatedCharacterClass(ownerStage, args[imgAry0, ... ])
+ .movingVelocity:操作による加速度
+ .jumpPower:ジャンプ上昇加速度
+ +---MainCharacterClass
++---BlockClass(ownerStage, args[imgName])
+ +---SlopeBlockClass
+
\ No newline at end of file