离开屏幕后,小的基本复位形状位置

时间:2016-01-16 16:02:09

标签: smallbasic

请帮助!!!!

我的小基本

有点问题

我想制作一个不明飞行物必须避开小行星的小游戏,我制作了一个小行星并将其制作动画,然后我想让它的y位置回到0,它通过了屏幕..

.xyz {
 width: 70%;

box-shadow: 0 0 30px;
text-align:center;
-webkit-flex: 9 0 0; 
flex: 9 0 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))

2 个答案:

答案 0 :(得分:1)

你不应该为此使用shapes.animate。在移动时你无法获得物体的位置。以下是astroids的一些代码:

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

答案 1 :(得分:0)

meteorite's y position
据我所知,

等于

Shapes.GetTop(meteorite)

你需要在循环中检查它是否会移动。