zoukankan      html  css  js  c++  java
  • unity游戏教程 space shooter (玩家控制器)

    为了更好地理解unity,模仿了教程,以下均为教程中的代码:

    PlayerController.cs:

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;

    [System.Serializable]
    public class Boundary{
    public float xMin,xMax,zMin,zMax;
    }
    public class PlayerController : MonoBehaviour {
    public float speed;
    public float tilt;
    public Boundary boundary;

    private float nextFire;
    public float fireRate;
    public GameObject shot;
    public Transform shotSpawn;
    
    // Use this for initialization
    void Start () {
    	
    }
    
    // Update is called once per frame
    void Update () {
    	if (Input.GetButton("Fire1")&&Time.time > nextFire){
    		nextFire = Time.time + fireRate;
    		Instantiate (shot,shotSpawn.position,shotSpawn.rotation);
    		GetComponent<AudioSource> ().Play ();
    	}
    
    
    }
    
    void FixedUpdate(){
    
    	float moveHorizontal = Input.GetAxis ("Horizontal");
    	float moveVertical = Input.GetAxis ("Vertical");
    	Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical);
    
    	GetComponent<Rigidbody> ().velocity = speed * movement;
    	GetComponent<Rigidbody> ().position = new Vector3 (Mathf.Clamp(GetComponent<Rigidbody>().position.x,boundary.xMin,boundary.xMax),
    		0.0f,
    		Mathf.Clamp(GetComponent<Rigidbody>().position.z,boundary.zMin,boundary.zMax));
    	GetComponent<Rigidbody> ().rotation = Quaternion.Euler (0.0f, 0.0f, GetComponent<Rigidbody> ().velocity.x * -tilt);
    }
    

    }

  • 相关阅读:
    C++多线程二
    C++多线程一
    定义抽象数据类型
    泛型函数
    关联容器(map):支持高效查找的容器,一种键值对的集合。
    字符串拆成单词的另一种实现
    将字符串拆成单词,并算最长的长度
    重载,排序,集合实例
    程序调用动态链接库中的方法,位图,类
    用bosybox制作文件系统
  • 原文地址:https://www.cnblogs.com/1997Ff/p/7364683.html
Copyright © 2011-2022 走看看