用iTween实现一个鼠标点击一个地方平面中间出现一个向上抛然后下落的球
2015-01-10 21:54
501 查看
首先我们创建一个平面, 就用Cube来创建把,来X和Z设置成10,然后我们就有了一个地形了,然后我们创建需要生成的球,然后我们创建一个空物体,把我们的这个球放到这个空物体下面,然后制作成prefabs,然后我们建一个图标,这里我们就用Cube来代替这个图标,把颜色修改为红色,我们还需要创建一个空物体,让他离我们的地形Y为0.5f,主要是为了在这个地方实例化出球,然后我们在这个空物体上写一个C#脚本,
代码如下:
using UnityEngine;
using System.Collections;
public class SphereSpawn : MonoBehaviour
{
public GameObject spherePrefab;
public Transform redSphere;
void Update ()
{
Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);//拿到点击屏幕的点
RaycastHit hitinfo;
bool isCollider = Physics.Raycast (ray, out hitinfo);//拿到碰撞的点
if (isCollider && hitinfo.collider.tag == "Ground") {
redSphere.position = hitinfo.point;
}
if (Input.GetMouseButtonDown (0)) {
//实例化小球
SpawnSphere();
}
}
void SpawnSphere()
{
GameObject go= GameObject.Instantiate(spherePrefab,transform.position,Quaternion.identity)as GameObject;
go.GetComponent<MoveSphere>().targetPosition=redSphere.position;
}
}
// 上面这里主要的功能是判断鼠标点击时间(用射线检测),和实例化球,
然后我们在我们的预设物体上面,是在父物体身上写一个脚本
using UnityEngine;
using System.Collections;
public class MoveSphere : MonoBehaviour
{
public Vector3 targetPosition;
//需要移动到的位置
private GameObject sphere;
void Start ()
{
//让球向上然后向下
sphere=transform.Find("Sphere").gameObject;
iTween.MoveTo (this.gameObject, iTween.Hash ("time", 2, "position", targetPosition, "easetype", iTween.EaseType.easeOutCubic));
iTween.FadeTo (this.gameObject, iTween.Hash ("time", 2, "delay", 2, "alpha", 0, "oncomplete", "destorySprere"));
iTween.MoveBy (sphere, iTween.Hash ("time", 1, "y", 5, "easetype", iTween.EaseType.easeOutCubic));
iTween.MoveBy (sphere, iTween.Hash ( "delay",1 ,"time", 1, "y", -5, "easetype", iTween.EaseType.easeInCubic));
}
void destorySprere ()
{
Destroy (this.gameObject);
}
}
//上面的代码主要是用iTween来实现实例化的球怎么运动和销毁物体
U3D界面:
代码如下:
using UnityEngine;
using System.Collections;
public class SphereSpawn : MonoBehaviour
{
public GameObject spherePrefab;
public Transform redSphere;
void Update ()
{
Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);//拿到点击屏幕的点
RaycastHit hitinfo;
bool isCollider = Physics.Raycast (ray, out hitinfo);//拿到碰撞的点
if (isCollider && hitinfo.collider.tag == "Ground") {
redSphere.position = hitinfo.point;
}
if (Input.GetMouseButtonDown (0)) {
//实例化小球
SpawnSphere();
}
}
void SpawnSphere()
{
GameObject go= GameObject.Instantiate(spherePrefab,transform.position,Quaternion.identity)as GameObject;
go.GetComponent<MoveSphere>().targetPosition=redSphere.position;
}
}
// 上面这里主要的功能是判断鼠标点击时间(用射线检测),和实例化球,
然后我们在我们的预设物体上面,是在父物体身上写一个脚本
using UnityEngine;
using System.Collections;
public class MoveSphere : MonoBehaviour
{
public Vector3 targetPosition;
//需要移动到的位置
private GameObject sphere;
void Start ()
{
//让球向上然后向下
sphere=transform.Find("Sphere").gameObject;
iTween.MoveTo (this.gameObject, iTween.Hash ("time", 2, "position", targetPosition, "easetype", iTween.EaseType.easeOutCubic));
iTween.FadeTo (this.gameObject, iTween.Hash ("time", 2, "delay", 2, "alpha", 0, "oncomplete", "destorySprere"));
iTween.MoveBy (sphere, iTween.Hash ("time", 1, "y", 5, "easetype", iTween.EaseType.easeOutCubic));
iTween.MoveBy (sphere, iTween.Hash ( "delay",1 ,"time", 1, "y", -5, "easetype", iTween.EaseType.easeInCubic));
}
void destorySprere ()
{
Destroy (this.gameObject);
}
}
//上面的代码主要是用iTween来实现实例化的球怎么运动和销毁物体
U3D界面:
相关文章推荐
- 【android】:android积累2之如何实现点击一个按钮或者选项然后出现一条消息
- C# winform datagridview中如何实现鼠标右键点击一行数据出现一个带有删除的菜单,并能执行删除操作?
- 实现html中就一个按钮和一个文本框,点击按钮显示文本框,再点击文本框消失,再次点击又出现。
- 鼠标点击出现下拉菜单,点其他地方,缩回去。
- 使用OpenLayers实现一个在鼠标点击处添加标记的效果
- gridView 实现 点击一个图片 进行3D翻转 然后变成另外一个图片
- 用NGUI显示图片鼠标点击的地方出现在屏幕上
- 关于相同页面用一个页面实现,点击datalist中Button按钮出现“回发或回调参数无效......”
- 使用OpenLayers实现一个在鼠标点击处添加标记的效果
- JS实现在线统计一个页面内鼠标点击次数的方法
- unity3d实现一个人物跟随鼠标点击地面那点就移动那点,实现点击特效加人物动画方向的切换。
- 如何用js实现,在一个页面有个输入文档框,然后点击查询按扭后,调用IE的查询功能在当前页面进行查询
- 鼠标点击,在点击的地方出现提示框
- JS实现在线统计一个页面内鼠标点击次数的方法
- 点击button按钮后,启动一个实现鼠标拖动另一个button的线程 (JFrame/C# WinForm)
- js实现文本框中鼠标点击关键字消失,失去焦点关键字出现
- ASP.Net 页面鼠标点击处出现自定义菜单 实现示例
- jQuery实现鼠标点击div外的地方div隐藏消失的效果
- 实现一个EditText中间有字,字两边都可点击触发事件的效果
- Canvas---Canvas事件处理、Canvas元素的鼠标点击事件处理、实现一个元素管理器