分享

Classes

 三维记忆 2019-11-19

SingleCharacterScript

using UnityEngine;

using System.Collections;

public class SingleCharacterScript : MonoBehaviour

{ public class Stuff{

        public int bullets;

    public int grenades;

    public int rockets;

    public Stuff(int bul, int gre, int roc) { bullets = bul; grenades = gre; rockets = roc; } } public Stuff myStuff = new Stuff(10, 7, 25);

    public float speed;

    public float turnSpeed;

    public Rigidbody bulletPrefab;

    public Transform firePosition;

    public float bulletSpeed; void Update () { Movement(); Shoot(); } void Movement () {

        float forwardMovement = Input.GetAxis("Vertical") * speed * Time.deltaTime;

        float turnMovement = Input.GetAxis("Horizontal") * turnSpeed * Time.deltaTime; transform.Translate(Vector3.forward * forwardMovement); transform.Rotate(Vector3.up * turnMovement); } void Shoot () {

        if(Input.GetButtonDown("Fire1") && myStuff.bullets > 0) { Rigidbody bulletInstance = Instantiate(bulletPrefab, firePosition.position, firePosition.rotation) as Rigidbody; bulletInstance.AddForce(firePosition.forward * bulletSpeed); myStuff.bullets--; } } }

Inventory

using UnityEngine;

using System.Collections;

public class Inventory : MonoBehaviour { public class Stuff{

    public int bullets;

    public int grenades;

    public int rockets;

    public float fuel;

    public Stuff(int bul, int gre, int roc){ bullets = bul; grenades = gre; rockets = roc; }

    public Stuff(int bul, float fu){ bullets = bul; fuel = fu; }

    // Constructor

    public Stuff (){ bullets = 1; grenades = 1; rockets = 1; } }

// Creating an Instance (an Object) of the Stuff class

    public Stuff myStuff = new Stuff(50, 5, 5);

    public Stuff myOtherStuff = new Stuff(50, 1.5f);

void Start(){ Debug.Log(myStuff.bullets); } }

MovementControls

using UnityEngine;

using System.Collections;

public class MovementControls : MonoBehaviour { public float speed;

    public float turnSpeed; void Update (){ Movement(); } void Movement (){

        float forwardMovement = Input.GetAxis("Vertical") * speed * Time.deltaTime;

        float turnMovement = Input.GetAxis("Horizontal") * turnSpeed * Time.deltaTime; transform.Translate(Vector3.forward * forwardMovement); transform.Rotate(Vector3.up * turnMovement); } }

Shooting

using UnityEngine;

using System.Collections;

    public class Shooting : MonoBehaviour

{ public Rigidbody bulletPrefab;

        public Transform firePosition;

        public float bulletSpeed;      private Inventory inventory; void Awake () { inventory = GetComponent<Inventory>(); } void Update () { Shoot(); } void Shoot () {

        if(Input.GetButtonDown("Fire1") && inventory.myStuff.bullets > 0) { Rigidbody bulletInstance = Instantiate(bulletPrefab, firePosition.position, firePosition.rotation) as Rigidbody; bulletInstance.AddForce(firePosition.forward * bulletSpeed); inventory.myStuff.bullets--; } } }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多