From 1f41eaa61c1c9da2dbb6d4ac162e4d23974c0389 Mon Sep 17 00:00:00 2001 From: Wilson Leong Date: Sat, 26 Apr 2014 11:30:00 -0600 Subject: [PATCH] Motor --- Assets/Scripts/Motor.cs | 47 ++++++++++++++++++++++++++ Assets/Scripts/Motor.cs.meta | 8 +++++ Assets/Scripts/PlayerController.cs | 4 +-- Assets/no_friction.physicMaterial | 16 +++++++++ Assets/no_friction.physicMaterial.meta | 4 +++ 5 files changed, 77 insertions(+), 2 deletions(-) create mode 100644 Assets/Scripts/Motor.cs create mode 100644 Assets/Scripts/Motor.cs.meta create mode 100644 Assets/no_friction.physicMaterial create mode 100644 Assets/no_friction.physicMaterial.meta diff --git a/Assets/Scripts/Motor.cs b/Assets/Scripts/Motor.cs new file mode 100644 index 0000000..50d3ffe --- /dev/null +++ b/Assets/Scripts/Motor.cs @@ -0,0 +1,47 @@ +using UnityEngine; +using System.Collections; + +public class Motor : MonoBehaviour { + + public float speed = 10; + public Vector3 dir; + + public bool randomMove = false; + + void Awake() { + if(randomMove) { + StartCoroutine(randomDir()); + } + } + + void Update() { + rigidbody.velocity = speed * dir; + } + + public void MoveDir(Vector3 _dir) { + dir = _dir; + rigidbody.velocity = speed * dir.normalized; + } + + public void MoveTo(Vector3 dest) { + dir = (dest - rigidbody.position).normalized; + MoveDir(dir); + } + + public void Stop() { + dir = new Vector3(0,0,0); + rigidbody.velocity = new Vector3(0,0,0); + } + + IEnumerator randomDir() { + Random.seed = (int)Time.time; + + while (true) + { + MoveTo(new Vector3(30 * (Random.value*2 -1) + rigidbody.position.x, + 0, + 30 * (Random.value*2 -1) + rigidbody.position.z)); + yield return new WaitForSeconds(1); + } + } +} diff --git a/Assets/Scripts/Motor.cs.meta b/Assets/Scripts/Motor.cs.meta new file mode 100644 index 0000000..be98a48 --- /dev/null +++ b/Assets/Scripts/Motor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4fe625f347cd04ec0b5f461f77005c35 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Scripts/PlayerController.cs b/Assets/Scripts/PlayerController.cs index b77b80f..6c97675 100644 --- a/Assets/Scripts/PlayerController.cs +++ b/Assets/Scripts/PlayerController.cs @@ -3,7 +3,7 @@ using System.Collections; public class PlayerController : MonoBehaviour { - public float speed; + public float speed = 10; public float nextFire; public float fireRate; public GameObject shank; @@ -42,4 +42,4 @@ public class PlayerController : MonoBehaviour { void Shank(){ } -} \ No newline at end of file +} diff --git a/Assets/no_friction.physicMaterial b/Assets/no_friction.physicMaterial new file mode 100644 index 0000000..9458f4c --- /dev/null +++ b/Assets/no_friction.physicMaterial @@ -0,0 +1,16 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!134 &13400000 +PhysicMaterial: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: no_friction + dynamicFriction: .400000006 + staticFriction: .400000006 + bounciness: 0 + frictionCombine: 0 + bounceCombine: 0 + frictionDirection2: {x: 0, y: 0, z: 0} + dynamicFriction2: 0 + staticFriction2: 0 diff --git a/Assets/no_friction.physicMaterial.meta b/Assets/no_friction.physicMaterial.meta new file mode 100644 index 0000000..a3421bf --- /dev/null +++ b/Assets/no_friction.physicMaterial.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 012328ad8a154434cba351198ab57633 +NativeFormatImporter: + userData: