連我自己都沒猜到居然有2。。
上回講到了如何讓皮卡丘出現在"現實"中。
這次,我們要帶上精靈球捕抓皮卡丘了!(啪啪啪
1.創建一個Sphere作為精靈球,然后上貼圖。啊!我們是不是設置得太大了,感覺可以直接丟暈皮卡丘了2333
2.接下來我們要扔出精靈球了,其實就是簡單的投籃游戲。
①先記錄下精靈球的位置
void StartSet () {
Debug.Log("設置精靈球位置");
resetPos = ball.transform.localPosition;
}
②根據手指滑動,即點擊的地方和手指離開的地方,確定一個力
void Update () {
if(Input.GetMouseButtonDown(0))
{
downPosX = Input.mousePosition.x;
downPosY = Input.mousePosition.y;
}
if(Input.GetMouseButtonUp(0))
{
upPosX = Input.mousePosition.x;
upPosY = Input.mousePosition.y;
ShootEnd();
}
}
③給精靈球一個射出去的力
void ShootEnd(){
targetcube.transform.position = new Vector3((upPosX - downPosX) * 0.1F,(upPosY - downPosY )* 0.05F,(upPosY - downPosY) * 0.1F);
ball.GetComponent<Rigidbody>().velocity = targetcube.transform.position;
}
④如果沒射中,讓精靈球回到開始的位置
void ResetBall(){
this.transform.rotation = Quaternion.Euler(Vector3.zero);
ball.GetComponent<Rigidbody>().velocity = Vector3.zero;
ball.GetComponent<Rigidbody>().useGravity = false;
ball.transform.localPosition = resetPos;
}
3.但是PokeBall要有受重的感覺,在撞到皮卡丘后,精靈在精靈球內晃動的動畫。
①添加 rigibody,勾掉Use Gravity
②給PokeBall添加Animator,添加動畫,其實就是是K一個簡單的繞Z軸旋轉的動畫。
到底抓到了沒
4.要使精靈球撞到了皮卡丘
①添加碰撞體
②給PokeBall添加碰撞邏輯,隱藏皮卡丘,播放精靈球晃動動畫,播放捕抓特效
void OnCollisionEnter(Collision collisionInfo)
{
if(collisionInfo.gameObject.name == "PikachuCosplay")
{
皮卡丘.SetActive(false);
GetComponent<Animator>().enabled = true;
特效.SetActive(true);
}
}
-----------End------------
來抓你的皮卡丘吧!
歡迎拍磚、點贊~
試玩APK(安卓5.1以上):http://pan.baidu.com/s/1slaQ6ID
---------2016/8/27-------------
優化更新一下APP:http://pan.baidu.com/s/1pLrPFGB