(接上篇文章)
二、子彈的發(fā)射
1眶俩、在角色下新建一個項目,并調(diào)整,作為子彈生成的地方,我叫它子彈生成器痢甘。并且將子彈插入進游戲,為子彈添加碰撞體和一個“move”腳本
2茉贡、修改move腳本
public float speed;//這里要自己在unity里面賦值
????void Update()
? ? {
???????? transform.Translate(Vector3.up * speed * Time.deltaTime);
? ? ? ? if (transform.position.y >= 5.0f)//這里是子彈飛到哪里之后會消失塞栅,我是y軸為5的地方,大家可以自己試一試可能會不一樣
? ? ? ? {
? ? ? ? ? ? Destroy(this.gameObject);
? ? ? ? }
? ? }
3腔丧、在項目列表里面創(chuàng)建一個“預(yù)設(shè)”文件夾放椰,將我們做好的子彈拖入,作為我們的預(yù)制體
4愉粤、在我們剛剛做的子彈生成器添加一個代碼砾医,命名為“fire”
public float time;//子彈生成的時間差(多長時間生成一個子彈)
? ? public GameObject zidan;//將子彈實例化
? ? void Start()
? ? {
? ? ? ? Fire();
? ? }
? ? public void Fire()
? ? {
? ? ? ? InvokeRepeating("move", 1, time);
? ? }
? ? public void move()
? ? {
? ? ? ? GameObject.Instantiate(zidan, transform.position, Quaternion.identity);
? ? }
如此,子彈的發(fā)射就做出來了
三衣厘、背景的滾動
1如蚜、我們先創(chuàng)建一個新的3D物體——Quad,將他調(diào)整為和我們的攝像機一樣大影暴,然后將他的z軸調(diào)整到比我們的角色大一點的(具體多少隨自己喜好)
2错邦、新建一個Material(材質(zhì)球),并且調(diào)整材質(zhì)球的shader坤检,調(diào)整為texture(Unlit——>texture)然后導(dǎo)入我們的背景圖片兴猩,完成后將材質(zhì)球?qū)氲絈uad上,Quad改名為“背景”早歇。
3、在背景下添加一個代碼名為“Background”
Material material;//定義材質(zhì)
Vector2 movement;//定義移動
public Vector2 speed;//定義速度(因為材質(zhì)球的移動和普通移動不同讨勤,所以我們要定義成vector2)
void Start()
? ? {
? ? ? ? material = GetComponent<Renderer>().material;? //我們不能直接的引用材質(zhì)球中的Material組件箭跳,只能一步步的移動)
? ? }
? ? void Update()
? ? {
? ? ? ? movement += speed * Time.deltaTime;
? ? ? ? material.mainTextureOffset = movement;
? ? }
*其中,在unity中賦值時我們只用改變Y軸大小即可潭千,整數(shù)則是向下移動谱姓,負數(shù)為向上移動。我這里改成了0.1感覺十分合適
**X軸是控制左右移動的刨晴,感興趣的可以自己動手試一試屉来。
如此,背景的滾動效果就做好了