您好,欢迎来到Unity之家!   unity.jb51.net 
  • 首 页
  • 你问我答
  • 当前位置:首页 > 学习培训 > Unity入门 >
    物体移动脚本
    时间:2015-03-19 09:47 来源:Unity之家 作者:unity.jb51.net 浏览:收藏 挑错 推荐 打印


    直接贴出代码:


    private var allowedGo:boolean;
    private var speed1Up:boolean;
    private var speed1Down:boolean;
    private var speed2Up:boolean;
    private var speed2Down:boolean;
    private var speed1:float=0;
    private var speed2:float=0;
    var rotatespeed:float=10;
    var maxSpeed:float=30;
    function Start()
    {
    allowedGo=true;
    }
    function OnCollisionEnter(hit:Collision){
    if(hit.gameObject.tag=="Terrain"){
    allowedGo=true;
    }
    }
    function OnCollisionExit(hit:Collision){
    if(hit.gameObject.tag=="Terrain"){
    allowedGo=false;
    }
    }
    function Update () {
    if(speed1Up==true){
    if(speed1<maxSpeed){
    speed1=speed1+0.5;
    }
    }
    if(speed2Up==true){
    if(speed2<maxSpeed){
    speed2=speed2+0.5;
    }
    }
    if(speed1Down==true){
    if(speed1>0){
    speed1=speed1-0.5;
    }
    }
    if(speed2Down==true){
    if(speed2>0){
    speed2=speed2-0.5;
    }
    }
    if(allowedGo==true){
    if(Input.GetKey(KeyCode.W)){
    speed1Up=true;
    speed2Down=true;
    speed1Down=false;
    speed2Up=false;
    this.transform.Translate(Vector3.forward*Time.deltaTime*(speed1-speed2));
    }
    else if(Input.GetKey(KeyCode.S)){
    speed2Up=true;
    speed1Down=true;
    speed2Down=false;
    speed1Up=false;
    this.transform.Translate(Vector3.forward*Time.deltaTime*(speed1-speed2));
    }
    else
    {
    speed1Down=true;
    speed2Down=true;
    speed1Up=false;
    speed2Up=false;
    this.transform.Translate(Vector3.forward*Time.deltaTime*(speed1-speed2));
    }
    if(Input.GetKey(KeyCode.D)){
    if(speed2Up==true){
    this.transform.Rotate(Vector3.up*Time.deltaTime*-rotatespeed);
    }
    else
    {
    this.transform.Rotate(Vector3.up*Time.deltaTime*rotatespeed);
    }
    }
    else if(Input.GetKey(KeyCode.A)){
    if(speed2Up==true){
    this.transform.Rotate(Vector3.up*Time.deltaTime*rotatespeed);
    }
    else
    {
    this.transform.Rotate(Vector3.up*Time.deltaTime*-rotatespeed);
    }
    }
    }
    else
    {
    speed1Down=true;
    speed2Down=true;
    speed1Up=false;
    speed2Up=false;
    this.transform.Translate(Vector3.forward*Time.deltaTime*(speed1-speed2));
    }
    }


    (责任编辑:脚印)
    免责声明:Unity之家部分内容来源于互联网,如有侵权,请联系我们,本站将立即进行处理。
    标签:Unity之家