1.开始界面 - neveis/RPGMakerFP GitHub Wiki
开始界面是程序的一个重要场景。
除了引导开始游戏以及读取存档外,游戏的主要逻辑以及数据都会在该场景初始化。
必要节点与脚本:
1.Canvas
Canvas是与场景相关的节点,该节点下的内容会自适应屏幕大小。如无特殊情况,所有显示内容都应在Canvas节点下。
脚本:
MainMenu.js
提供开始游戏及读取存档接口。
2.Game
Game节点是一个全局节点,也是最重要的节点,游戏的大多数逻辑脚本都在该节点下,动态生成的节点也会挂载在该节点下。
脚本:
Game.js
EventManager.js
EventHandle.js
PlayerData.js
Cache.js
AudioManager.js
WindowManager.js
Game的子节点
2.1 TouchPanel
方向控制
脚本:
TouchControl.js
2.2 MainButton
主按键
脚本:
MainButton.js
注: Canvas,Game,TouchPanel,MainButton
节点名称不能更改。
例子:
Canvas
-- BackgroudMusic
-- Background
-- MainMenu
----- Start
----- Load
Game
-- TouchPanel
-- MainButton
注意节点顺序,Game节点必须放在最后。
必要的设置:
1.Canvas
Desigin Resolution,游戏的设计分辨率,最好为32的倍数(与地图有关)。
Fit Height or Fit Width,自适应相关,若要保证无黑边出现,应选择其一,两者区别请参考官方文档。 此后所有场景的这两个值都应该保持一致。
2.Game
除了上述脚本外,还应添加Widget组件,保证Game节点的大小与画面大小一致,便于动态添加的界面自适应画面大小。
TouchPanel、MainButton在开始界面用不到,应处于隐藏状态。
3.TouchPanel
TouchPanel包含两个Sprite子节点。Panel为底面板,Control为中心圆盘。
TouchControl.js属性设置:
子节点名称随意,但是属性设置要相对应。
4.MainButton
MainButton包含一个Sprite子节点。
Mainbutton.js属性设置:
TouchPanel和MainButton示例:
接口
该场景用到了MainMenu.js,该脚本提供了两个函数,startGame
和showSaveWin
,是需要与场景中的按钮进行关联的。
以“开始游戏”为例。首先场景中需要有一个节点包含按钮组件。然后设置按钮的事件为startGame
。cc.Node应该设置为MainMenu.js所挂载的节点。
注:Button组件的详细使用还请参考官方文档。
另外,还需要对MainMenu.js中的一处进行修改。
打开MainMenu.js,找到startGame
,里面包含一个函数this.game.switchScene()
,根据游戏要求修改其中参数。
switchScene(mapId,playerId,playerPos,playerDirection,isLoad)
mapId: 游戏的第一个地图ID
playerId: 控制角色的ID
playerPos: 控制角色的初始位置
playerDirection: 控制角色的朝向
isLoad: 是否为新游戏或读取存档。此处应设置为true即可。
地图相关的内容将在后面介绍,此处可以制作完后续地图后再来修改。
其他
过场动画等后续再补充。