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);
    }
    

    }

  • 相关阅读:
    下载vue-devtools插件的步骤
    弄清 CSS3 的 transition 和 animation
    js与多行字符串
    swift 上手
    liunux 修改hostname
    linux 下使用配置文件
    linux安装oracle11g
    jQueryt过滤选择器
    Javascript并发模型和事件循环
    CSS生僻问题一网打尽
  • 原文地址:https://www.cnblogs.com/1997Ff/p/7364683.html
Copyright © 2011-2022 走看看