楼主学习Unity的时间有限,每天最多能抽出1小时看看,主要还是周末的时间了。
最近打算开发几个小游戏练练手。最简单的水果忍者就被我相中了,来吧,骚年,一起来一发。
先分析下切水果的几个要点:
1)手指滑过时的刀光、拖尾等:这个我打算用TrailRenderer来实现。效率先不考虑,能做出来再说。
2)水果的刷新:每隔一段时间,比如2s,刷新若干个水果向上抛物运动。这个用协同程序来完成刷新。抛出的时候向上加一个初速度即可。
3)水果的切割:从刀开始触发碰撞到碰撞结束之后,水果才算被切开。然后水果消失,copy出水果的左右两瓣,各自做水平抛物运动。
先完成这几点吧。虽然和大作有点实现上的出入,但是先做出来再细化吧。
1、刀光、拖尾
我的思路是:创建一个空的obj,给他加上Rigidbody2D、CircleCollider2D、TrailRenderer,然后在脚本中实现当鼠标滑到哪的时候,就把这个obj移动到哪。
设置如下:
最近打算开发几个小游戏练练手。最简单的水果忍者就被我相中了,来吧,骚年,一起来一发。
先分析下切水果的几个要点:
1)手指滑过时的刀光、拖尾等:这个我打算用TrailRenderer来实现。效率先不考虑,能做出来再说。
2)水果的刷新:每隔一段时间,比如2s,刷新若干个水果向上抛物运动。这个用协同程序来完成刷新。抛出的时候向上加一个初速度即可。
3)水果的切割:从刀开始触发碰撞到碰撞结束之后,水果才算被切开。然后水果消失,copy出水果的左右两瓣,各自做水平抛物运动。
先完成这几点吧。虽然和大作有点实现上的出入,但是先做出来再细化吧。
1、刀光、拖尾
我的思路是:创建一个空的obj,给他加上Rigidbody2D、CircleCollider2D、TrailRenderer,然后在脚本中实现当鼠标滑到哪的时候,就把这个obj移动到哪。
设置如下:
代码编写如下:
using UnityEngine;
using System.Collections;
public class Knife : MonoBehaviour {
private Vector3 m_VecMouse = new Vector3(0,0,0);
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if (!Input.GetMouseButton (0)) {
return;
}
Vector3 ptScreen = Camera.main.WorldToScreenPoint (transform.position);
m_VecMouse.x = Input.mousePosition.x;
m_VecMouse.y = Input.mousePosition.y;
m_VecMouse.z = ptScreen.z;
t