1.场景碰撞已好,地板需建一Quad去掉渲染留下碰撞,设置layer为Floor:用于建立摄像机朝向地面的射线,确定鼠标停留点,确定主角需要的朝向. 2.设置摄像机跟随主角: 本例中摄像机设置为正交模式. 摄像机跟随脚本: public class CameraFollow : MonoBehaviour { public Transform target; //相机跟随的目标 public float smoothing = 5f; //缓冲 Vector3 offset; //存储主角与相机…
该案例中:(PC端操作) 1.玩家移动输入控制通过虚拟轴Axis,旋转输入控制通过鼠标位置: 2.玩家始终面朝鼠标停留点,鼠标停留点通过摄像机朝地面的射线获取: 3.玩家待机移动状态切换通过Animator组件: 4.玩家移动旋转通过身上刚体组件及其相关函数. public class PlayerMovement : MonoBehaviour { public float speed = 6f; //玩家移动速度 Vector3 movement; // 玩家移动临时变量 Animator…
这里先补充一个得分管理器: 玩家得分设置成一个静态变量: public class ScoreManager : MonoBehaviour { public static int score; // 玩家得分 Text text; // UI void Awake () { text = GetComponent <Text> (); //开始时候重置得分 score = 0; } void Update () { // Set the displayed text to be the wo…
敌人管理器:管理敌人的随机出生点创建 在场景中建立几个空物体,作为敌人的出生点 public class EnemyManager : MonoBehaviour { public PlayerHealth playerHealth; // 玩家生命脚本 public GameObject enemy; // 敌人物体预制,拖入或者动态加载 public float spawnTime = 3f; // 敌人出生间隔时间 public Transform[] spawnPoints; //出生点…
玩家射击:(这个脚本放在玩家的空子物体上,这个位置为枪口位置) 点击鼠标,玩家射击: 射击枪口发光,射击通过射线,方向有激光效果:(关于射线不明白可以参考Unity射线相关) 射击有射击音效 射击有每发伤害,有CD 间隔时间,有射程 敌人射击脚本如下: 1.变量: 射击配置参数: public int damagePerShot = 20; // 每枪伤害 public float timeBetweenBullets = 0.15f; // 普攻CD时间 public float range…
需求: 玩家有初始生命: 被敌人攻击后:掉血,播放受击音效,红屏(用UI图片做)闪烁提示,UI面板刷新生命 直至死亡:死亡播放死亡音效,游戏结束: 1.变量: 玩家生命 public int startingHealth = 100; // 初始生命值 public int currentHealth; // 当前生命 组件: public Slider healthSlider; // 玩家生命条UI Animator anim; // 玩家身上动画状态机 AudioSource player…
敌人生命系统(受伤 死亡) 敌人生成后有初始生命,被攻击受伤有打击特效,降低生命值,直至死亡: 死亡后怪物:播放死亡音效,动画,然后下沉地表,销毁:玩家:得到相应分数. 敌人生命脚本如下: 1.变量: public int startingHealth = 100; // 敌人初始生命 public int currentHealth; // 敌人当前生命 public float sinkSpeed = 2.5f; // 死亡后敌人下沉到地下的速度 public int scoreValue…
此案例中,敌人始终朝着玩家移动 到达攻击玩家范围时(身上的大的触发器被玩家触发时(敌人靠近玩家,当身上的触发器被触发,且对象是玩家时条件达成)) 隔一个时间端,打击玩家一下,对玩家造成伤害,玩家掉血,直至死亡. 变量: public float timeBetweenAttacks = 0.5f; // 攻击的间隔 public int attackDamage = 10; // 攻击的伤害值 bool playerInRange; // 玩家是否在敌人攻击范围内 float timer; //…
1.敌人和玩家若存活,敌人始终朝着玩家所在位置移动,所以要给玩家物体一个Tag:Player从而找到玩家 2.敌人的自动寻路使用Unity自带的NavMeshAgent寻路组件寻路,要先把场景中不动的物体勾选Static,然后Navigation-Bake烘焙 移动 代码如下: public class EnemyMovement : MonoBehaviour { Transform player; // 玩家位置变量. PlayerHealth playerHealth; // 玩家生命脚本…
学习资料 跟着廖雪峰的Python教程学习Python,大家可以去官方网站查看学习教程.使用的Python版本为3.0.x,解释器为CPython.本系列博客为学习笔记,记录跟随廖老师所学知识,同时会记录一些我查到的资料.感谢廖老师的辛勤制作. Python基础规范 Python为解释型脚本语言,可以运行在Windows.Linux及Mac OS系统上. 代码块 Python的采用缩进的方式区分代码,类似CoffeeScript的语法,但是在代码块(函数或者过程)的语法结构稍有不同,Python…