Post by PeterMaria on Mar 4, 2011 17:31:24 GMT -5
Hi Matthew,
Here is another demo for you.
Here is another demo for you.
' Space Night by Peter Wirbelauer o4/o3/2011
TextMode(TEXT_BUFFERED)
ResizeSpriteArea(1280,960)
const maxstars = 250
const xScreen = 1920
const yScreen = 1080
Type Star
Dim xStar as Integer
Dim yStar as Integer
Dim speed as Integer
Dim image as Integer
End Type
Dim Stars(250) as Star
Dim i,Lev,w#,aZ#,space,sH,sW,wav,snd
Dim s1(3),s2(3),s10(3),iFont(58)
Dim Map(300)
space = LoadTex ("ufo/space.png")
iFont = LoadTexStrip("ufo/fontset.png",32,32)
s1 = LoadTexStrip("ufo/star.png",6,6)
s2 = LoadTexStrip("ufo/ufostrip.png",64,64)
s10 = LoadTexStrip("ufo/transporter.png",64,64)
Function EscKey()
Return ScanKeyDown(vk_escape)
End Function
Function Rand(min, max)
Return rnd() % (max - min + 1) + min
End Function
Sub Bitmap(Hnd,x1,y1,w1,h1)
NewSprite(Hnd)
SprSetxCentre(0):SprSetyCentre(0)
SprSetZOrder(1)
SprSetSize(w1,h1)
SprSetPos (x1,y1)
End Sub
Sub Sprite(nr(),x,y,w,h,frame)
NewSprite(nr)
SprSetxCentre(0):SprSetyCentre(0)
SprSetZOrder(1)
SprSetSize(w,h)
SprSetPos(x,y)
SprSetFrame(frame)
End Sub
Sub RotSpr(nr2(),rot#,x2,y2,w2,h2,frame)
NewSprite(nr2)
SprSetxCentre(.5):SprSetyCentre(.5)
SprSetZOrder(1)
SprSetSize (w2,h2)
SprSetAngle (rot#)
SprSetPos (x2,y2)
SprSetFrame (frame)
End Sub
Sub Text(txt$,x4,y4,w4,h4)
Dim sx, jx, px
sx = Len(txt$)
For jx =1 To sx
px = Asc(Mid$(txt$,jx,1))
iF px >=32 And px <=90 Then
px = px -32
Sprite(iFont,x4,y4,w4,h4,px)
x4 = x4 + w4
End iF
Next
End Sub
Declare Function InitStars()
Declare Function MoveStars()
PlayMusic("ufo/1.mod",1,1)
sW =128 : sH =192
InitStars()
Do While EscKey() =0
Bitmap(space,0,0,640,480)
MoveStars()
Text("LOST IN SPACE",200,16,64,96)
Text("I AM LOOKING FOR MY COWS",64,820,48,128)
RotSpr(s10,w#,640,640,sW,sH,aZ#)
Sprite(s2,640,330,192,128,aZ#)
DrawText()
ClearSprites()
WaitTimer(10)
w# = w# + -1
aZ# = az# + .2
iF aZ# =4 Then aZ# =0: End iF
Loop
'------------------------------------------------
Function InitStars()
For i = 1 To maxstars
stars(i).xStar = Rand(0,xScreen - 20)
stars(i).yStar = Rand(0,yScreen - 6)
stars(i).image = Rand(1,4)
stars(i).speed = Rand(1,4)
Next
Return 0
End Function
'------------------------------------------------
Function MoveStars()
For i = 1 To maxstars
RotSpr(s1,Stars(i).image,Stars(i).xStar, Stars(i).yStar,6,6,w#)
Stars(i).xStar = Stars(i).xStar + Stars(i).speed
if Stars(i).xStar > xScreen Then
Stars(i).xStar = 0
Stars(i).yStar = Rand(0, yScreen - 20)
Stars(i).image = Rand(1,4)
Stars(i).speed = Rand(1,4)
End iF
Next
Return 0
End Function