打算使用Unity制作经典的横版冒险小游戏,参考最近打发时间玩的小游戏希望之星莱丽莎,记录一下自己的一些准备思路。
游戏素材准备
UI:开始游戏按钮,记录分数的Text,记录生命值Text(不使用参考小游戏的ui,直接用文字表示),闯关胜利提示Plane,死亡游戏结束提示Plane,开始Canvas、结束Canvas、游戏数据展示Canvas。
贴图:角色、背景贴图,冒险地图前景、三种颜色的魔法石、魔法棒、小怪。
动画:
1、主角idle、attack 、jump、move、showMagic、die。
2、魔法石:shine。
4、魔法棒:idle、showMagic。
游戏操作逻辑思考
1、背景贴图瓷砖式地图,画板Tile palette绘制,担心可能卡缝隙。
2、角色移动脚本PlayerControler,获取键盘事件响应轴的数据,Animation与Animator制作idle、attack 、jump、move、showMagic、die动画,脚本和状态机播放动画。
3、生命值:UI记录的Text文本脚本LifeHp,触碰到小怪减少HP。
4、魔法石:脚本Rewards,角色触碰到魔法石就数值+1。
5、小怪:脚本Monster,一定距离内可以被检测到主角靠近就开始移动靠近。参考以前的代码实现记录如下。
void Update()
{
EnemyMovement();
}
// 小怪的移动
void EnemyMovement()
{
if (faceRight)
{
// 朝右移动
rb.velocity = new Vector2(speed , rb.velocity.y);
//Debug.Log(transform.position.x + " "+ rightX);
// 到达边界值
if(transform.position.x > rightX)
{
// 改变朝向
transform.localScale = new Vector3(-1,1,1);
faceRight = false;
}
}
else
{
// 朝左移动
rb.velocity = new Vector2(-speed , rb.velocity.y);
// 到达边界值
if (transform.position.x < lef)
{
transform.localScale = new Vector3(1, 1, 1);
faceRight = true;
}
}
}
目前的思路暂且记录如此,参考实现的小游戏地址:http://www.8799.com/l4/90097/,方便自己查看原游戏的设计和玩法。