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

    }

  • 相关阅读:
    面向对象案例
    Leetcode--9. 回文数
    调试seanbell/intrinsic遇到的坑
    Ubuntu16.04OPENGL初体验
    Ubuntu16.04重装NVIDIA驱动
    C++之封装继承和多态
    CMKAE简单实用指南
    【学习笔记】C/C++
    C++之重载覆盖和隐藏
    C++之指针和引用
  • 原文地址:https://www.cnblogs.com/1997Ff/p/7364683.html
Copyright © 2011-2022 走看看