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,自适应相关,若要保证无黑边出现,应选择其一,两者区别请参考官方文档。 此后所有场景的这两个值都应该保持一致。

Canvas setting

2.Game

除了上述脚本外,还应添加Widget组件,保证Game节点的大小与画面大小一致,便于动态添加的界面自适应画面大小。

Game node setting

TouchPanel、MainButton在开始界面用不到,应处于隐藏状态。

3.TouchPanel

TouchPanel包含两个Sprite子节点。Panel为底面板,Control为中心圆盘。

TouchPanel子节点

TouchControl.js属性设置:

TouchControl.js属性设置

子节点名称随意,但是属性设置要相对应。

4.MainButton

MainButton包含一个Sprite子节点。

MainButton子节点

Mainbutton.js属性设置:

Mainbutton.js属性设置

TouchPanel和MainButton示例:

示例

接口

该场景用到了MainMenu.js,该脚本提供了两个函数,startGameshowSaveWin,是需要与场景中的按钮进行关联的。

以“开始游戏”为例。首先场景中需要有一个节点包含按钮组件。然后设置按钮的事件为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即可。

地图相关的内容将在后面介绍,此处可以制作完后续地图后再来修改。

其他

过场动画等后续再补充。