Unity自主学习(二十四):物件移动(3)

今天接着把物件移动写出来吧!昨天知道了Down和Up的差别之後,接下来就是要了解要将程序码写在哪里
那我们知道在class里面还包着Start和Update这两个方法,除此之外还有其他杂七杂八的
而我们"Input.GetKeyDown()"只是负责侦测按键是否有按下的
因此我们必须把他写在会不断重复侦测的方法里面,也就是Update里面,因为这样游戏执行区每跑一帧画面就都会执行一次判断。而为了让脚本知道按下按键之後要执行甚麽,所以也必须用到if去做判断。
那麽我们直接从昨天的Unity官方的范例程序下去改。我们先改成这样...

using UnityEngine;

public class Move : MonoBehaviour
{
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.UpArrow))
        {
           transform.localPosition += new Vector3(2.5f, 0, 0) * Time.deltaTime; 
        }
    }
}

transform.localPosition:这是代表我们要更改脚本现在控制物件的transform栏里的Position
而我们Position是一个有(X,Y,Z)三个座标数值的,所以我们也必须给予Vector3(2.5f, 0, 0),三个数值
而我想做的是...按住方向键,物件会朝着那个方向前进,也就是说座标数值会不断增加,因此是用"+="。
而可以注意到後面我还乘上了一个"Time.deltaTime",我们之後再找机会接着仔细讲。
照着目前程序运作,也还没办法达到心中所想的状态。

运行结果:按一下只前进一点点,长按着只有最初前进一下,之後就没有反应了。

明天接着改。


<<:  Unity自主学习(二十三):物件移动(2)

>>:  Unity自主学习(二十五):物件移动(4)

GitHub Action Automation - 自动化你的管理程序与使用第三方 Action

过去的我,一提到 GitHub Action 就直接联想到持续整合与布署,然後就开始进入如何设计、撰...

离职倒数16天:推荐在日本软件业工作吗?「东京并不是一个让你实现梦想的地方。东京是一个能让你不去注意到自己的梦想并未实现的地方。」

前几天有朋友问我「推荐在日本软件业工作吗?」 我有点不太知道怎麽回答,因为我没在其他地方工作过,无从...

Angular 深入浅出三十天:表单与测试 Day13 - 整合测试实作 - 被保人 by Template Driven Forms

昨天帮我们用 Template Driven Forms 所撰写的被保人表单写完单元测试之後,今天...

JS语法学习Day1

学习内容 基本资料型态&变数、如何使用字串、如何使用数字 基本资料型态&变数(Dat...

Day3 工业控制系统常见名词

工业控制系统常见名词 基础名词 ICS Industry Control System 工业控制系...