创建对象池脚本ObjectPool
新建空物体挂脚本
创建List存储不同的物体
normalPlatformList;
common
grass
winter
Right
创建Aw和Init,定义一个int initSpawnCount
获取到Vars
获取方法public
创建对象池脚本ObjectPool
新建空物体挂脚本
创建List存储不同的物体
normalPlatformList;
common
grass
winter
Right
创建Aw和Init,定义一个int initSpawnCount
获取到Vars
获取方法public
单例模式
取名btn_start
图形按钮制作方法:image加button组件
在根ui节点挂脚本。
获得ui组件(在awak初始化获得):
private Button btn_Start=null;
btn_Start=transform.Find("btn_Start").GetComPonent<Button>();
Find("名字"),如果有层级,就这样btns/btn_Start
初始化里监听按钮注册函数:
btn_Start.onClick.AddListenter(OnBtnStartClick);
public OnBtnStartClick (){}
用空物体取名xxpanel来存放UI和挂脚本
文本框取名
txt_Score //分数
碰到钉子,发生爆炸
跳的时候左右发射检测射线,障碍物不死亡,钉子,死亡。
复制Ray设置左右起点。
定义其他起点,rayLeft,rayRight
检测障碍物的层obstacleLayer;
新建Layer层Obstacle(先创建障碍物标签Obstacle);并选中所有障碍物且指定;钉子动画同理。
是否检测到障碍物IsRayObstacle;发射两条射线调用0.15f
如果正在跳跃,检测到障碍物,游戏结束等于false,则游戏结束
销毁人物。
在UpDate下测试射线有多长。Debug
玩家销毁特效
新建空物体DeathEffect增加粒子特效
shape circle
半径0.3
Emission发射
Time 0
爆发Count Two 40-60;Interval0.01
Loop x
StartLifeTime 2
Speed 1.5
Size0.1
Renderer--指定Materials
Layer-GUI
存成预制体
通过射线检测是否掉落或者触碰到障碍物。
需要一个游戏数据类(GameData)
在设置图片变灰的时候 获取的对象的方法是 skinItem.GetComponentInChildren<Image>()
如果使用skinItem.GetComponent<Image>()去获取对象的话,会报错,并且在会导致其他报错内容
Spike不是speaker
而且“pi”发的是哎的音不是“宜”的音,快听了20多节课没几个读对的,虽然无关痛痒,但是读错太多了
。在GamePanel下显示成绩
定义一个事件码UpdateScoreText;
游戏成绩增加后广播显示事件码
//游戏暂停
Time.timeScale = 0;
//继续游戏
Time.timeScale = 1;
1.在vars中声明名字链表
2.根据当前下标index,改名字
Input.GetMouseButtonDown(0);//鼠标左键按下
Input.mousePosition;//Vector3类型的鼠标位置
mousePos.x<Screen.wide/2 判断鼠标点击位置
屏幕坐标以左下角为起点往右和上为x和y轴
1.锁定(固定)所选人物下标
广播吃到钻石的事件码;AddDiamond;
int 钻石gameDiamond;
广播显示钻石更新的事件码;UpdateDiamondText;