Unity3D教程:台球游戏之球杆围绕着白球旋转瞄准
发表于2017-02-08
台球游戏的特点是要球杆围绕着白球瞄准,通过撞击白球让其他球能顺利进洞,在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); } } |