每天学点游戏设计 3 两个维度移动物体

2023-11-15 15:15:21 字數 1755 閱讀 9115

说明:如果你是初学者,需要在精读前两篇文章(使用刚体控制物体运动、控制物体的运动范围)基础上进行学习。有人说学习编程、学习游戏编程,需要较强的数学基础,有人使用游戏引擎,不需要数学基础。到底哪一种说法对呢?笔者认为各有道理。数学是一种思维方式,没有这种思维方式,我们可以照猫画虎制作出一个游戏。但这是远远不够的。没有一定的数学思维,就形不成自己的思维方式。有一些文章用将笔者所述的三个内容合为一个内容,对数学思维提升作用太小了。所以笔者在前两篇文章里仅对一个轴(水平方向)进行论述,读者在认真思考,反复琢磨的基础上,数学思维就提升了。所谓认真思考,反复琢磨,是需要一定时间的,除非读者有较好的数学基础,对数学坐标系及其运算已达到一定水平。否则需要对前两篇文章反复练习,熟记于心,然后再往前走一步,学习本篇文件。经验表明,用半天时间掌握这三篇文章是不可取的,用三个半天时间学习这三篇文章是有必要的。基础不牢,地动山摇。这是很多人学习unity上手快,进步难的原因所在。

在两个维度上移动物体的操作是简单的,但其内化的思维层面是难的。本文仅讲操作(简单的),内化的思维层面(难的)需要读者反复练习,做到三遍以上。

第一步,变量定义部分的变化:

上述**中第9行,设置了上下箭头的输出(也可以通过w、s)键输入。第14行和第15行设置了小球的移动范围。这些参数因为是public类型,可以在unity中进行调节。

第二步,给小球增加力的**变化。

上图中,第24行增加了上下输出参数,第25行将其赋给一个vector3变量。第29行控制其最大速度。

第三步,控制小球在x轴范围的同时,增加了在y轴控制。

其中第36行,控制y轴位置在bottom和top之间。

第四步,运行程序,通过键盘上的4个箭头来查看效果。

修改后的完整**如下:

using system.collections;

using system.collections.generic;

using unityengine;

public class testplaycontrl : monobeh**iour

private rigidbody thisbody=null;

public string horzaxis = horizontal";

public string vertaxis = vertical";

public float maxspeed = 1f;

public transform thistransform = null;

public float left = 5f;

public float right = 5f;

public float bottom = 5f;

public float top = 5f;

private void awake()

private void fixedupdate()

private void lateupdate()

学游戏原画设计怎么入门?游戏原画设计步骤!

学游戏原画设计怎么入门?游戏原画设计步骤!游戏原画设计是一个与众不同且充满创意的领域,对于喜欢游戏和艺术的人来说,学习游戏原画设计是一个很好的选择。但是,如何入门游戏原画设计,又有哪些步骤呢?本文将为你一一解答。一 了解游戏原画设计的基础知识。在学习游戏原画设计之前,我们首先需要了解一些基础知识。包...

游戏动画设计自学怎么样

游戏动画设计,我是不建议自学的,因为它存在很多的专业领域知识,而且没有系统的学习和好的学习方法,更是浪费时间。游戏动画的学习其实看上去难,真是实践还是很容易操作的,大部分人都会纠结各种问题,而浪费时间,比如什么年纪学优势最大?我给你的回答是,现在 立刻 马上开始。现在处于网络时代,特别是 g技术的不...

游戏页面设计有哪些注意点?

游戏页面设计有哪些注意点?游戏界面设计是游戏开发的重要步骤之一。游戏界面不仅是提供游戏体验的平台,也是与玩家互动的窗口。因此,游戏页面设计的目的是提高玩家的游戏体验,并且增强游戏的可玩性和可操作性。一 游戏页面设计的注意点。.界面布局。游戏页面的布局是游戏交互界面设计的第一步。在设计时,需要考虑到内...