AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > Unity3D

Unity 2D 坦克游戏教程(5):添加大炮

51自学网 2014-05-24 http://www.51zixue.net

你可以在这里下载指南(包括本教程):第五部分:添加大炮

本指南将涵盖以下内容:

升级坦克上的大炮

将大炮指向老鼠

设置子画面轴心点

升级大炮

我们现有的大炮功能不全,画质粗糙。看起来像是我在开始设计坦克画面时,事先毫无准备一样。但是无需担心,有神奇的计算机原始画笔的帮助,我已经塑造了一个更加精良的大炮。如果它看起来是一个黑色长方形,那就对了!

好,现在我们拥有了新型改装后的大炮,我们用它做些什么呢?像之前教程中提到的那样,把它拖拽到项目中,打开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;
 
// Use this for initialization
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)下载分享的资源。

说明
:本教程来源互联网或网友分享或出版商宣传分享,仅为学习研究或媒体推广,51zixue.net不保证资料的完整性。
 
上一篇:Unity 2D 坦克游戏教程(4):坦克粘接  下一篇:Unity 2D 坦克游戏教程(6):预制件和标签