概述
基于上一篇文章的内容,对游戏项目进行优化包括:工程结构、背景地图、人物移动、素材清晰度优化、总体移动逻辑更改;新增:地图2、场景切换、基于人物属性的人物形象更换;
效果
更新节点:
本次工程重新对工程结构和名称进行整理,首先对工程结构进行分类,把关卡放入到Leverl节点中对于每一关进行编号;左侧英雄信息栏放入到HeroMassage节点中;Hero节点中存放人物形象和不同状态;Animation节点中存放关卡场景切换动画。
节点名称 | Preview窗口对应显示情况 |
---|---|
HeroMassage | 左侧红色英雄信息栏 |
Hero | 英雄信息栏中英雄状态图片 |
Health、Health_Number | 信息栏中生命值文字、生命值右侧对应数字 |
Attack、Attack_Number | 信息栏中攻击力文字、攻击力右侧对应数字 |
Defense、Defense_Number | 信息栏中防御力文字、防御力右侧对应数字 |
Leaverl、Leaverl_Number | 信息栏中关卡文字、关卡右侧对应数字 |
Leverl01、02、03 | 对应关卡1、关卡2、关卡3 |
Leverl00 | 开始游戏界面 |
Barrier | 存放所有当前关卡的障碍物,名称为X和Y的坐标,例:64_224 |
Staircase、CCStaircase | 当前关卡中的楼梯:对应上一关、下一关楼梯 |
Health、Weapons、Defense、Key | 对应当前关卡中的道具:生命值、武器(攻击力)、盾牌(防御力)、钥匙 |
Door | 关卡中不同颜色的门 |
Monster | 对应关卡中的怪物 |
Hero、Attack | 英雄、英雄攻击特效 |
Animation | 关卡场景切换动画 |
创建自定义属性、设置绑定
创建两个整形自定义属性用于控制关卡切换和计算钥匙数量
分别为Leverl、KeySum; Leverl默认值:1 KeySum默认值:0
创建两个整形自定义属性控制左侧英雄信息栏的数值,根据默认值的不同分为2个;
number用于控制生命值数值、默认值为100;
number2用于控制攻击力、防御力数值、默认值为10;
创建两个整形自定义属性用于控制Hero(英雄)的移动;分别控制Hero节点的X、Y属性;
将两个自定义属性拖拽到Hero节点的Properties窗口中,并分别设置绑定,通过计算获取到我们想要的数值用来控制人物移动逻辑。
继续添加自定义属性用于控制Hero(英雄)的移动逻辑,范围:0~32,默认值:32;
用于配合Plugin使用,当英雄遇到障碍物时,点击按钮人物每次移动+0;无障碍物时每次移动+32;
ifx控制左右按钮,ify控制上下按钮;
添加整形自定义属性属性m1,控制关卡切换动画中的Item节点;
当m1=1时,节点为进入动画,m1不等于1时,节点为退出动画;
当关卡切换时,让m1=1,再次切换时m1 = 0;默认值为0;
添加自定义属性Attack,获取Hero的攻击力和怪物的攻击力;默认值:50;
配合Hero移动逻辑使用,当英雄和怪物相遇时(X、Y属性相等)通过攻击力计算英雄当前剩余生命值
当前属性正在测试,没有真正使用。后期可能会加入攻击力防御力生命值等相关属性用于计算英雄和怪物战斗时的属性数值计算。
这里对场景切换动画中的Item设置绑定,通过X的不同位置和Duration时间的递增形成固定的距离和不同的缓动效果从而实现切换动画。
这里只展示其中一个Item其余的Item设置事件和Duration持续时间格式上都是相同的,时间上依次递增500;
注意:这里大部份逻辑都是基于Plugin中设置的所以本次文章没有展示,具体逻辑实现,关注@一颗大树。
小结:
本次文章基于上次文章制作,只对于逻辑用Plugin更换,场景和素材进行优化,其余新增的场景3和人物攻击特效……在下篇文章更新,有了上一次的构思本次文章场景搭建花费时间并不多,比较耗费时间的是工程结构上,和节点名称图片资源的设置上构思时间花费较多;下次文章主要更新逻辑,完善场景切换和道具拾取,增加怪物属性和人物形像。