1 根据不同的主题 ,生成 对应的 平台 ,平台障碍物。
父物体 Platfrom 平台 障碍物 Obstacle
中心点还是正常的Platfrom 平台====
随机在左边 或者右边生成 障碍物-------------
1 根据不同的主题 ,生成 对应的 平台 ,平台障碍物。
父物体 Platfrom 平台 障碍物 Obstacle
中心点还是正常的Platfrom 平台====
随机在左边 或者右边生成 障碍物-------------
脚本的raydown和layer未实现
发生 碰撞 两个物体 都要有 collider组件
有一方必须有一个 Rigidbody
有一方必须勾选 isTreeger 属性
人物添加两个collider
关于 玩家平台 碰撞检测
玩家 平台都有 collider组件
玩家有 Rigidbody 重力作用,实现跳跃
玩家collider 组件
区分左边跳跃 右边跳跃
1 PlayerController 脚本
鼠标点击方法
点击左边 x坐标小于 屏幕宽度的一半
重力感应 添加
Rigidbody 2D
1Btns创建 空物体存放 3个按钮
添加 Horizontal Layout Group 水平布局组件
选项 Midle Center 居中排序
padding 边距
Canvas
Screen Space-Overlay
始终在我们屏幕前面
Screen Space-Camera
始终在我们相机前面
UI Scale Mode ui缩放自适应
Scale with Screens Size
粒子系统
1尺寸 start size
在两个常量里面随机
2 发射方向 shape
3修改材质
4 Color 颜色随着速度而变化
改变最后箭头 设置为0,将start speed 设置为0.
Call调用方法
调用非静态方法用jo
每回打包游戏,要更新jar包
//设置日志名 public static void SetLOG(String log){ LOG=log; Log.d(LOG,"LOG"+log);//Log.d控制台输出//后面这个输入也很有趣,是先输出引号,然后msg自己会出来//自己敲的msg会报错 }
先导入材质包,选一个最简单的台阶,
台阶的Sorting Layer添加一个Platfrom,将Platfrom调至Defult和GUI之间
每一个方块之间Position的值向右相差x = +0.554,y = +0.645。向左相差x = -0.554,y = +0.645
在一个原先的脚本ManagerVars,在后面添加一段代码
public float nextXPos = 0.554f, nextYPos = 0.645f;
在unity创建一个空对象并改名为PlatformSpawner,挂一个脚本PlatformSpawner,并添加一段代码
public Vector3 startSpawnPos;(将void start和void update删除)。
在unity里将空对象里的 start Spawn Pos里的Y值0改为-2.4,、
在unity里新建一个名为Prefabs的文件夹,
try
{
BinaryFormatter bf = new BinaryFormatter();//二进制格式
using(FileStream fs = File.Create(Application.persistentDataPath + "/GameData.data"))
{
data.SetBestScoreArr(bestScoreArr);
data.SetDiamondCount(diamondCount);
data.SetIsFirstGame(isFirstGame);
data.SetIsMusicOn(isMusicOn);
data.SetSelectSkin(selectSkin);
data.SetSkinUnlocked(skinUnlocked);
bf.Serialize(fs, data);//在fs文件夹里面序列化data的内容(将字符变成数字)//利用二进制格式化将data序列化至文件流fs中
}
}
点击左边右边只往上跳或者不动,我又跟做了一遍,是层级的Platform写成了PlatForm
79_收集Geo
之前Enemy和Knightj接触的时候镜头就会晃,就把Attack子物体的colllider设置为isTrigger。现在收集Geo就没遇到问题。
这里用到了某个技巧暂时看不太懂,mark一下
为啥要在这环节纠结呢..
要找最大的不应该11天开始算到14天吗..
jdk可以设置环境变量
通过射线检测是否掉落或者触碰到障碍物。
其实可以直接Javac 或者Java -version