你可以在这里下载指南(包括本教程):第五部分:添加大炮
本指南将涵盖以下内容:
升级坦克上的大炮
将大炮指向老鼠
设置子画面轴心点
升级大炮
我们现有的大炮功能不全,画质粗糙。看起来像是我在开始设计坦克画面时,事先毫无准备一样。但是无需担心,有神奇的计算机原始画笔的帮助,我已经塑造了一个更加精良的大炮。如果它看起来是一个黑色长方形,那就对了!
好,现在我们拥有了新型改装后的大炮,我们用它做些什么呢?像之前教程中提到的那样,把它拖拽到项目中,打开Sprite Editor。确保你已点击Sprite模式:双击就可出现Sprite Editor。
这次,我们需要调整一下轴心点,这样大炮的轴心在底部而非中心(默认值)。最初可能像这样。注意蓝色的轴心点在正中间。这样就不大对。
单击轴心向下并选择底部,可把轴心点移到底部中心。
现在轴心应该在大炮底部的中心。
好了,现在我们要继续讲解,把坦克中旧式的、粗制滥造的大炮删掉,创建一个新的画面渲染器(Sprite Renderer),把它放入坦克中,把坦克形状设置成精灵。然后把画面渲染器命名为“炮塔”(Turret)。
像这样:
现在呢,我们需要让大炮指向老鼠,这将需要一个新的脚本。创建一个新的脚本“炮塔控制器”(“TurretController”)拖放到你刚刚创建的“炮塔”渲染器(Turret Sprite Renderer)中。
这是新的脚本:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
using UnityEngine;
using System.Collections;
public class TurretController : MonoBehaviour {
private Vector3 mouse_pos;
private Vector3 object_pos;
private float angle;
void Start () {
}
void Update(){
}
void FixedUpdate () {
mouse_pos = Input.mousePosition;
mouse_pos.z = 0.0f;
object_pos = Camera.main.WorldToScreenPoint(transform.position);
mouse_pos.x = mouse_pos.x - object_pos.x;
mouse_pos.y = mouse_pos.y - object_pos.y;
angle = Mathf.Atan2(mouse_pos.y, mouse_pos.x) * Mathf.Rad2Deg - 90;
Vector3 rotationVector = new Vector3 (0, 0, angle);
transform.rotation = Quaternion.Euler(rotationVector);
}
}
|
现在单击“播放” ,你应该得到以下场景:
其中,坦克的炮筒会随着鼠标的移动而变动方向。
原文链接:http://www.unit3y.com/unity-2d-tank-game-part-v-adding-cannon/
建议使用电驴(eMule)下载分享的资源。
说明:本教程来源互联网或网友分享或出版商宣传分享,仅为学习研究或媒体推广,wanshiok.com不保证资料的完整性。
|