视频: 【游戏反坑局】傻瓜式游戏制作引擎免费啦!我也能做游戏吗? 2024
属性描述HTML 5游戏中对象的特征, 方法 描述行为。方法是一个与对象相关的函数。您可以像创建属性一样构建方法,但不是添加简单的值,而是将整个函数分配给名称。
例如,小动物的下一个版本有一个changeSpeed()方法。当用户按下向上箭头时,小动物会加速,当用户按下向下箭头时,小动物会放慢速度(最终走向另一个方向)。下面是使用新方法的小动物代码:
<! --1 - >critterChangeSpeed。 html var game;无情的小动物函数Critter(){tCritter = new Sprite(game,“critter.gif”,30,30); tCritter。速度= 0; tCritter。 checkKeys = function(){ if(keysDown [K_RIGHT]){ 这个。速度++; } 如果(keysDown [K_LEFT]){ 这个。速度 -; } tCritter。 setSpeed(this。speed); } // end method return tCritter;} function init(){game = new Scene();小动物=新的小动物();游戏。开始();}功能更新(){游戏。明确(); 小动物。 checkKeys(); 小动物。 update();}
请注意,当用户按下键时,它会移动。对于这个和大多数例子来说,静态图像不足以帮助你看到发生了什么。
<! - 2 - >在这个新版本的程序中,Critter对象有一个新的行为。实质上,一个方法只不过是一个类中定义的函数。不要惊慌。这真的不是很难弄清楚。你告诉系统如果用户曾经要求Critter对象改变速度该怎么做。
-
创建一个名为checkKeys的新属性。在JavaScript中,属性和方法是完全一样的东西。如果您将常规变量附加到对象,则它是一个属性。如果你附加一个函数,这是一个方法。 (属性名称通常是名词,方法名称通常是动词或动词短语。)
-
changeSpeed不是一个普通的属性,而是一个方法,所以你会附加一个函数。 (对于计算机科学专业的学生来说,像这样建立一个匿名函数就是
lambda 函数的一个例子,在期中考试中注意!) 检查键盘输入。
-
制作一个Critter对象时,它已经知道如何查找自己的按键。
根据键盘输入更改速度。
-
如果用户向右按,则增加速度(默认方向,正向速度将精灵向右移动)。如果用户按下左键,则降低速度。
使用setSpeed()方法更改实际速度。
-
为生物提供蓝图的Sprite对象已经有了一个setSpeed()方法。使用此方法使对象以指定的速度移动。
在方法中,使用this关键字。
-
当您在构造函数中创建一个方法时,计算机可能会对事物的名称感到困惑。大多数情况下,你正在添加一个名为tCritter的临时小动物的东西。为了消除混淆,如果需要引用其他正在修改的对象的属性或方法,请使用general关键字而不是对象的实际名称。
修改update()函数,让小动物检查键盘。请记住,主update()函数每帧发生一次。任何你想每帧发生一次应该在update()中调用。给小动物添加一个电话。 checkKeys()。这将提醒生物每隔一帧检查一次键盘,并根据需要改变速度。