Unity3D:c#脚本控制物件移动,材…
2017-03-08 10:59
393 查看
通过c#脚本来控制物件移动,并且改变物件颜色,被控体在碰撞物体后被碰撞的物体将会变蓝,如果物体已经是蓝色则变绿。
脚本1:Move.cs 将脚本赋值给摄像机达到控制目的
using UnityEngine;
using System.Collections;
public class Move : MonoBehaviour
{
GameObject cube;
GameObject[] Cube;
// Use this for
initialization
void Start()
{
cube =
GameObject.Find("cn");//这里依照被控体的名称来修改
cube.GetComponent().material.color =
Color.red;
}
// Update is called once
per frame
void Update()
{
// 在每一帧中都实时检测
if (Input.GetKey(KeyCode.W))
{
cube.transform.Translate(-5 * Time.deltaTime, 0, 0,
Space.Self);
}
if (Input.GetKey(KeyCode.S))
{
cube.transform.Translate(5 * Time.deltaTime, 0, 0,
Space.Self);
}
if (Input.GetKey(KeyCode.A))
{
cube.transform.Translate(0, 0, -5 * Time.deltaTime,
Space.Self);
}
if (Input.GetKey(KeyCode.D))
{
cube.transform.Translate(0, 0, 5 * Time.deltaTime,
Space.Self);
}
}
}
脚本2:CheckCollision.cs
依附被控体,在碰撞事件发生后修改被控体碰撞的物件属性
using UnityEngine;
using System.Collections;
public class CheckCollision : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
///
///
每次游戏对象碰撞时候都会执行这一方法
///
/// 可以通过此获得碰撞游戏对象
void
OnCollisionEnter(Collision co)
{
if(co.gameObject.GetComponent().material.color
== Color.blue)
{
co.gameObject.GetComponent().material.color = Color.green;
}
else
co.gameObject.GetComponent().material.color = Color.blue;
}
}
脚本1:Move.cs 将脚本赋值给摄像机达到控制目的
using UnityEngine;
using System.Collections;
public class Move : MonoBehaviour
{
GameObject cube;
GameObject[] Cube;
// Use this for
initialization
void Start()
{
cube =
GameObject.Find("cn");//这里依照被控体的名称来修改
cube.GetComponent().material.color =
Color.red;
}
// Update is called once
per frame
void Update()
{
// 在每一帧中都实时检测
if (Input.GetKey(KeyCode.W))
{
cube.transform.Translate(-5 * Time.deltaTime, 0, 0,
Space.Self);
}
if (Input.GetKey(KeyCode.S))
{
cube.transform.Translate(5 * Time.deltaTime, 0, 0,
Space.Self);
}
if (Input.GetKey(KeyCode.A))
{
cube.transform.Translate(0, 0, -5 * Time.deltaTime,
Space.Self);
}
if (Input.GetKey(KeyCode.D))
{
cube.transform.Translate(0, 0, 5 * Time.deltaTime,
Space.Self);
}
}
}
脚本2:CheckCollision.cs
依附被控体,在碰撞事件发生后修改被控体碰撞的物件属性
using UnityEngine;
using System.Collections;
public class CheckCollision : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
///
///
每次游戏对象碰撞时候都会执行这一方法
///
/// 可以通过此获得碰撞游戏对象
void
OnCollisionEnter(Collision co)
{
if(co.gameObject.GetComponent().material.color
== Color.blue)
{
co.gameObject.GetComponent().material.color = Color.green;
}
else
co.gameObject.GetComponent().material.color = Color.blue;
}
}
相关文章推荐
- Unity3D Player角色移动控制脚本
- Unity3D人物控制移动脚本编写及分析
- Unity3D Player角色移动控制脚本
- Unity3D Player角色移动控制脚本
- 关于Unity3D 游戏音频控制脚本C#代码
- Unity3d 在移动设备上的摇杆控制 C#
- 【Unity3D入门教程】使用C#脚本控制游戏对象
- Unity3D GUI C#脚本实例1——slider 控制环境光
- Unity3D Player角色移动控制脚本
- Unity用键盘控制物体左右旋转前后移动的c#脚本
- Unity3d移动代码(脚本)向前向后以及转弯,速度转向控制
- Unity3D 键盘控制控件移动脚本
- Unity3D Player角色移动控制脚本——转载
- Unity3D鼠标控制摄像机“左右移动控制视角+WASD键盘控制前后左右+空格键抬升高度”脚本
- unity。。。完美简单解决靠鼠标在屏幕上的移动来控制相机水平,垂直旋转的c#脚本
- Unity摇杆控制物体移动c#脚本
- C#控制定位Word光标移动到任意行或者最后一行,取得光标位置等操作
- Unity3D 游戏引擎之控制模型移动旋转与碰撞(七)
- Unity3D热更新 -脚本(三) C#LightEvil语法与调试
- C#鼠标控制控件移动的示例