Unity_磁铁道具吸收金币效果_054
来源:互联网 发布:淘宝店铺分类条尺寸 编辑:程序博客网 时间:2024/04/28 06:04
首先我们先创建一个底面Ground(绿色的Plane),底面上有一个玩家Player(白色的Cube),磁铁Magnet(红色的Cube),还有一堆金币Coin(白色的Sphere)。设置Player的Tag值为Player,设置金币的Tag值为Coin。
效果描述:我们让玩家碰到磁铁的时候开始让玩家吸收金币,如果没有碰到磁铁是不会吸收金币的
玩家的脚本
using System.Collections;using System.Collections.Generic;using UnityEngine;public class MagnetTest : MonoBehaviour { //控制玩家是否可以吸取周围的金币 private bool isMagnet = false; // Use this for initialization void Start () { } // Update is called once per frame void Update () { //如果玩家碰到吸铁石的话 就检测玩家周围的所有带有碰撞器的游戏对象 if (isMagnet) { //检测以玩家为球心半径是5的范围内的所有的带有碰撞器的游戏对象 Collider[] colliders = Physics.OverlapSphere(this.transform.position, 5); foreach (var item in colliders) { //如果是金币 if (item.tag.Equals("Coin")) { //让金币的开始移动 item.GetComponent<CoinMoveController>().isCanMove = true; } } } } private void OnTriggerEnter(Collider other) { if (other.tag.Equals("Magnet")) { //设置玩家可以吸取周围的金币 isMagnet = true; //销毁吸铁石 Destroy(other.gameObject); } }}
每一个金币上都挂载脚本,还有刚体,只不过没有使用重力如图:
金币的脚本
using System.Collections;using System.Collections.Generic;using UnityEngine;public class CoinMoveController : MonoBehaviour { //金币移动的的目标 GameObject target; //金币是否可以移动 public bool isCanMove = false; //金币移动的速度 public float speed = 50; // Use this for initialization void Start () { //获取玩家 target = GameObject.FindGameObjectWithTag("Player"); } // Update is called once per frame void Update () { if (isCanMove) { //金币向玩家移动的速度 transform.position = Vector3.MoveTowards(transform.position,target.transform.position,Time.deltaTime*speed); } } private void OnTriggerEnter(Collider other) { //如果金币碰到的物体是玩家 if (other.tag.Equals("Player")) { //金币碰到玩家后就会销毁金币 Destroy(gameObject); } }}
磁铁上要添加刚体组件但是不勾选重力,碰撞器勾选IsTrigger属性
效果展示:
阅读全文
0 0
- Unity_磁铁道具吸收金币效果_054
- cocos2dx3.0之跑酷使用磁铁道具吸收金币
- Unity如何实现磁铁效果?(比如跑酷游戏中,获得磁铁道具后,自动吸附附近金币的效果。)
- Android实现win8磁铁效果
- 一个仿WIN8磁铁效果的ImageView
- Unity_相机跟随效果_052
- Unity_循环背景效果_055
- Unity_宠物跟随效果_058
- Unity里吃金币效果的实现
- 金币
- 金币
- 金币
- 金币
- Unity_寻路系统中吊桥效果_062
- Unity_记分牌_效果实现(随机为例)
- Unity_制作Loading场景进度条_效果实现
- [Android实例] 仿Win8磁铁效果,能够拖动改变Merto位置
- [Android实例] 仿Win8磁铁效果,能够拖动改变Merto位置
- Ubuntu14.04上安装CSI tool
- 小的以及大的Typhon IDE
- test
- IDEA基础配置
- CNN不同领域的共性 & 1X1卷积核
- Unity_磁铁道具吸收金币效果_054
- 数据结构实验之二叉树二:遍历二叉树
- Java中的锁
- 虚拟路由冗余协议-vrrp
- 抽象
- 2017-8-8
- Tomcat配置https
- 在eclipse中如何配置maven
- Python机器学习基础篇之python基础篇