Unity3D教程:台球游戏之球杆围绕着白球旋转瞄准

发表于2017-02-08
评论0 2.6k浏览
  台球游戏的特点是要球杆围绕着白球瞄准,通过撞击白球让其他球能顺利进洞,在Unity3D中的台球游戏开发中如何让球杆围绕着白球旋转瞄准呢,可能有些人没做过这类的项目可能不知道,为此,下面就给大家介绍下实现的方法,一起来看看吧。
  
  下面是代码效果:当点击鼠标时,球杆围绕着球旋转。
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
 
var mouseOverColor = Color.blue;//声明变量为蓝色
 
private var originalColor : Color;//声明变量存储本来颜色
 
var other:Transform;
 
var system:Transform;
 
var gan:GameObject;
 
function Start () {
 
    originalColor = renderer.sharedMaterial.color;//开始时得到物体本来着色
 
}
 
function OnMouseExit () {
 
    renderer.material.color = originalColor;//当鼠标滑出时恢复物体本来颜色
 
}
 
function OnMouseEnter(){
 
    renderer.material.color = mouseOverColor;//当鼠标滑过时改变物体颜色为蓝色
 
}
 
function FixedUpdate() {  
 
    if(Input.GetMouseButton(0)){
 
    var screenSpace = Camera.main.WorldToScreenPoint(transform.position);//三维物体坐标转屏幕坐标
 
    var screenother = Camera.main.WorldToScreenPoint(other.transform.position);
 
    var A:Vector3= screenSpace-screenother;
 
    var B:Vector3=Input.mousePosition-screenSpace;
 
    var A1:Vector3=Camera.main.ScreenToWorldPoint(A); //将屏幕坐标转为三维坐标
 
    var B1:Vector3=Camera.main.ScreenToWorldPoint(B);
 
    var angle:float=Vector3.Angle(A1,B1);
 
    system.transform.RotateAround(transform.position,Vector3(0,1,0),angle*0.2);
 
    }
 
   }
 

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

标签: