文档介绍:KPL编程电脑精灵UFO实例3
//While 循环和If„ Then„ Else 逻辑判断
Program NewProgram
Method Main()
//我们想让UFO在屏幕内随处移动。我们声明两个变量来跟踪当前的位置
//一个记录X坐标的位置,一个记录Y坐标的位置。其他两个变量用来跟踪。
//UFO的移动量:一个记录X方向的移动,一个记录Y方向的移动。
SetDeviceCoordinates() //告诉KPL坐标系统设置为系统默认。屏幕左边X=0,屏幕上方Y=0
LoadSprite( "UFO", "" )
Var LocationX As Int //记录X坐标的位置
Var LocationY As Int //记录Y坐标的位置
Var MoveX As Int //记录X方向的移动
Var MoveY As Int //记录Y方向的移动
LocationX = 0
LocationY = 0
MoveSpriteToPoint( "UFO", LocationX, LocationY )
ShowSprite( "UFO" )
//我们可以用ScreenWidth()获得屏幕的宽度,由于UFO图片的宽度是65个像素。
//因此,精灵可以移动的屏幕宽度是要从总宽度里减去65个像素。
Var RightEdgeOfScreen As Int
RightEdgeOfScreen = ScreenWidth() - 65
//我们可以用ScreenHeight()获得屏幕的高度,由于UFO图片的高度是35个像素。
//因此,精灵可以移动的屏幕高度是要从总高度里减去35个像素。
Var BottomEdgeOfScreen As Int
BottomEdgeOfScreen = ScreenHeight() - 35
// Random()产生两个参数值之间的随机数。
//我们希望每次运行UFO时的移动都有所不同,因此我们调用Random()方法,使得程序
//运行时,UFO能随机运动。这意味着,UFO会每次向右和向下移动5到15个象素。
MoveX = Random(5, 15)
MoveY = Random(5, 15)
//本例,我们使用while 循环,UFO会在你按Q键时,或是直到我们
//单击“Stop the program”按钮时,才会停止运行。
While IsKeyDown("Q") = False
Delay ( 50 )
//通过改变相关的Location值,移动UFO。然后,赋值调用MoveSpriteTo()
LocationX = LocationX + MoveX
LocationY = LocationY + Move