【发布时间】:2022-06-29 04:25:58
【问题描述】:
这是我的第一个从头开始的游戏项目。我正在尝试制作弹球游戏,但我不想只是“观看有关如何制作弹球游戏的视频”。我想遇到问题并学习如何解决它们。
到目前为止,将脚本附加到精灵是问题 #1,但我已经解决了这个问题。问题 #2 是创建变量并将它们转换为真实对象值。经过几个小时的反复试验,我最终只是复制了其他人的脚本,该脚本具有最基本的设置,然后将其破坏并通过添加 void Update 将其重建为我在下面的内容。
我的问题主要是为了更好地了解我的一个新问题。 问题 #3 目前是当我单击播放时,它只移动对象一次。我认为 void update 应该调用每一帧? 我也想知道为什么我做transform.position的时候,为什么我不能做transform.position += (value 1, value 2)?从我从实验中得出的结论来看,改变 transform.position 的唯一方法是每次我不完全理解时都做 = new Vector ......这部分问题的另一种措辞是:有一种更短的方式来编写向量变换,或者这是唯一可以编写变化的方式?
下面是代码。我很感激任何答案,即使它只是在正确的路径上找到我想要的信息。
public float width, height, xSpeed, ySpeed, xPosition, yPosition;
public Vector2 position, scale;
void Start() {
// Initialise the variables
width = 0.5f;
height = 0.5f;
xSpeed = 0;
ySpeed = -1f;
xPosition = 0;
yPosition = 3.5f;
// set the scaling
Vector2 scale = new Vector2(width, height);
transform.localScale = scale;
// set the position
transform.position = new Vector2(xPosition, yPosition);
}
void Update() {
transform.position = new Vector2(xPosition + xSpeed,
yPosition + ySpeed);
}
【问题讨论】:
-
这个问题不是关于unityscript,而是关于c#