Unity3D实现飞机⼤战游戏(1)
本⽂为⼤家分享了Unity3D飞机⼤战游戏第⼀部分的实现代码,供⼤家参考,具体内容如下
实现背景轮播
1、⾸先两个背景图⽚,让两张图⽚竖直摆放且没有间隔
2、两个图⽚的下降的播放速度应当同步
public float moveSpeed = 3f;//指的是在unity⾥的移动速度
// Update is called once per frame
void Update()
{
Vector3 vector3 = ansform.position;
/
/表⽰背景已经出了游戏相机的边框
if (vector3.y <= -8.52f)
{
//将其移到上⾯的游戏背景区,如果是-vector3.y会导致两张图⽚之间有空隙⽆法达到轮播的效果
}
出现的问题:
当图⽚的位置变成-8.52以下时,更改位置使⽤到的是
实现⾓⾊的动画
1.假设该动画是由多张图⽚构成的,那么可更改SpriteRender组件的Sprite属性以实现动画的效果。
2.在初始化中得到组件,在update中修改Sprite属性
//判断动画是否继续,因为如果暂停了游戏,就可以不进⾏动画
public bool animation = true;
//每秒播放⼏帧
public int frameCountPreSeconds = 10;
//计时器
public float timer = 0;
//播放帧的数组
public Sprite[] sprites;
private SpriteRenderer SpriteRenderer;
// Start is called before the first frame update
void Start()
{
SpriteRenderer = this.GetComponent<SpriteRenderer>();
}
// Update is called once per frame
void Update()
{
if (animation) {
timer += Time.deltaTime;
//1f/frameCountPreSeconds 每⼀帧的时间间隔
int frameIndex =(int) (timer /(1f/ frameCountPreSeconds));
/
/当前应当播放的是哪⼀帧
int frame = frameIndex % 2;
//⾸先先获取组件SpriteRenderer,再获取组件⾥的sprite
SpriteRenderer.sprite=sprites[frame];
}
}
更多有趣的经典⼩游戏实现专题,分享给⼤家:
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论