Unity小游戏《飞机大战》实战代码学习

1.   飞机大战背景的处理方法

准备2个无缝背景贴图,位置设置好,连接在一起的。

每个背景都放同样的代码1个。

using UnityEngine;
using System.Collections;
public class move0 : MonoBehaviour {
    
void Start () {
}
void Update () {
        transform.Translate(Vector3.back * Time.deltaTime * 5,Space.World);           //背景图移动代码
        if (transform.position.z <= -30)                                     //设置一定移动范围
        {
            transform.position=new Vector3(transform.position.x, transform.position.y, 30);  //超过这个范围自动复位
        }
}
}

思路:想让背景一直给人向上移动的效果,先让他向下走,走过一个界限,向上移动一个身为就行了。

Z<=-30,可能不好理解,但是运行后看着,就懂了,就是移动了2个身位的距离(我设置Z=30),只有移动了2个Z的距离,其中一个的移动才从视线中消失,然后从上面重新开始。


2.子弹移动的方法

这个代码放在子弹身上

using UnityEngine;
using System.Collections;

public class zidanmove : MonoBehaviour {
    public float bulletspeed;                                     //设置变量:子弹移动速度
    public GameController g;                                   //设置g,跨脚本调用方法(调用谁就设置谁的类的g)                                                                 void Start()
    {
    Destroy(gameObject, 6.0f);                                    //设置子弹消失时间
    g = GameObject.Find("GameObject").GetComponent<GameController>();                                                        }
    void Update () {
        zdmove();                                                  //update调用子弹移动代码
    }    
    void zdmove()                                                  //定义子弹移动代码
    {
  transform.Translate(transform.forward*Time.deltaTime* bulletspeed,Space.World);//translate(方向,速度,时间)             
    }

     private void OnTriggerEnter(Collider other) {          //使用OnTriggerEnter方法,设置碰撞后使其他敌人消失
        if (other.tag != "Player") {                      //前台设置好自己的子弹的标签为"Player"
     
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值