unity入门(test)

本文介绍了作者在多媒体项目中初次接触Unity的体验,发现使用Unity游戏引擎进行游戏开发比纯代码方式更为简便,能快速实现物体控制。通过创建立方体并附加代码示例,展示了如何操控游戏物体的运动。还推荐了一个入门级的Unity视频教程。
摘要由CSDN通过智能技术生成

最近因为多媒体要做个游戏,就研究了一下unity,发现用游戏引擎做游戏比自己编代码简单多了,容易实现多了,直接创建游戏物体,再加上相应的代码就可以实现对物体的控制

例如创建一个cube,加上代码

using UnityEngine;
using System.Collections;

public class JControlledCar : JCar {
	
	// automatic, if true car shifts automatically up/down
	public bool automatic = true;

	public float shiftDownRPM = 1500.0f; // rpm script will shift gear down
	public float shiftUpRPM = 2700.0f; // rpm script will shift gear up

	void Update() {
		if (Input.GetKeyDown("page up")) {
			ShiftUp();
		}
		if (Input.GetKeyDown("page down")) {
			ShiftDown();
		}
		if (Input.GetKeyDown("g")) {
			automatic = !automatic;
		}
		if (Input.GetKeyDown("t")) {
			switch (wheelDrive) {
				case JWheelType.Front : wheelDrive = JWheelType.All; break;
				case JWheelType.Back : wheelDrive = JWheelType.Front; break;
				case JWheelType.All : wheelDrive = JWheelType.Back; break;
			}
			foreach (WheelData w in wheels) {
				WheelCollider col = w.col;
				col.motorTorque = 0f;
				col.brakeTorque = 0f;
			}
		}
	}

	
	// handle the physics of the engine
	void FixedUpdate () {
		
		float steer = 0; // steering -1.0 .. 1.0
		float accel = 0; // accelerating -1.0 .. 1.0
		bool brake = false; // braking (true is brake)
		
		if ((checkForActive == null) || checkForActive.active) {
			// we only look at input when the object we monitor is
			// active (or we aren't monitoring an object).
			steer = Input.GetAxis("Horizontal");
			accel = Input.GetAxis("Vertical");
			brake = Input.GetButton("Jump");
		}
		
		// handle automatic shifting
		if (automatic && (CurrentGear == 1) && (accel < 0.0f)) {
			ShiftDown(); // reverse
		}
		else if (automatic && (CurrentGear == 0) && (accel > 0.0f)) {
			ShiftUp(); // go from reverse to first gear
		}
		else if (automatic && (MotorRPM > shiftUpRPM) && (accel > 0.0f)) {
			ShiftUp(); // shift up
		}
		else if (automatic && (MotorRPM < shiftDownRPM) && (CurrentGear > 1)) {
			ShiftDown(); // shift down
		}
		if (automatic && (CurrentGear == 0)) {
			accel = - accel; // in automatic mode we need to hold arrow down for reverse
		}
		if (brake) {
			accel = -1f;
		}
		
		HandleMotor(steer, accel);
	}
}


就可以控制cube的运动

入门视频教程

点击打开链接






评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值