离开屏幕后小的基本重置形状位置
small basic reset shape position after it got out of the screen
请帮忙!!!!
我的小基础有点问题
我想制作一个 ufo 必须避开小行星的小游戏,我制作了一个小行星并为其制作动画,然后我想让它的 y 位置在它通过屏幕时回到 0..
meteimg = "C:\Users\user\Desktop\meteo.png"
meteorite = Shapes.AddImage(meteimg)
meteoriteX = Math.GetRandomNumber(GraphicsWindow.Width)
Shapes.Move(meteorite, meteoriteX, 0)
Shapes.Animate(meteorite, meteoriteX, GraphicsWindow.Height,Math.GetRandomNumber(2000))
然后我应该添加类似
的内容
if meteorite's y position > graphicsWindow.height then
shapes.move(meteorite, meteoriteX, 0)
endif
meteorite's y position
据我所知等于
Shapes.GetTop(meteorite)
如果它要四处移动,你需要循环检查它。
你不应该为此使用 shapes.animate。您无法在移动时获取对象的位置。这是小行星的一些代码:
NumAstroids = 10
For i = 1 To NumAstroids
Astroid[i] = Shapes.AddEllipse(20,20)
AstroidX[i] = Math.GetRandomNumber(GraphicsWindow.Width-20)
AstroidY[i] = -Math.GetRandomNumber(GraphicsWindow.Height)
AstroidSpeed[i] = Math.GetRandomNumber(4) + 1 '<- Min speed is 1
EndFor
While 1 = 1
Program.Delay(10)
For i = 1 To NumAstroids
Shapes.Move(Astroid[i],AstroidX[i],AstroidY[i])
AstroidY[i] = AstroidY[i] + AstroidSpeed[i]
If AstroidY[i] > GraphicsWindow.Height Then
AstroidX[i] = Math.GetRandomNumber(GraphicsWindow.Width-20)
AstroidY[i] = -Math.GetRandomNumber(50)-20
AstroidSpeed[i] = Math.GetRandomNumber(4) + 1 '<- Min speed is 1
EndIf
EndFor
EndWhile
请帮忙!!!!
我的小基础有点问题
我想制作一个 ufo 必须避开小行星的小游戏,我制作了一个小行星并为其制作动画,然后我想让它的 y 位置在它通过屏幕时回到 0..
meteimg = "C:\Users\user\Desktop\meteo.png"
meteorite = Shapes.AddImage(meteimg)
meteoriteX = Math.GetRandomNumber(GraphicsWindow.Width)
Shapes.Move(meteorite, meteoriteX, 0)
Shapes.Animate(meteorite, meteoriteX, GraphicsWindow.Height,Math.GetRandomNumber(2000))
然后我应该添加类似
的内容if meteorite's y position > graphicsWindow.height then
shapes.move(meteorite, meteoriteX, 0)
endif
meteorite's y position
据我所知等于
Shapes.GetTop(meteorite)
如果它要四处移动,你需要循环检查它。
你不应该为此使用 shapes.animate。您无法在移动时获取对象的位置。这是小行星的一些代码:
NumAstroids = 10
For i = 1 To NumAstroids
Astroid[i] = Shapes.AddEllipse(20,20)
AstroidX[i] = Math.GetRandomNumber(GraphicsWindow.Width-20)
AstroidY[i] = -Math.GetRandomNumber(GraphicsWindow.Height)
AstroidSpeed[i] = Math.GetRandomNumber(4) + 1 '<- Min speed is 1
EndFor
While 1 = 1
Program.Delay(10)
For i = 1 To NumAstroids
Shapes.Move(Astroid[i],AstroidX[i],AstroidY[i])
AstroidY[i] = AstroidY[i] + AstroidSpeed[i]
If AstroidY[i] > GraphicsWindow.Height Then
AstroidX[i] = Math.GetRandomNumber(GraphicsWindow.Width-20)
AstroidY[i] = -Math.GetRandomNumber(50)-20
AstroidSpeed[i] = Math.GetRandomNumber(4) + 1 '<- Min speed is 1
EndIf
EndFor
EndWhile