why doesnt work my code?
Code: Select all
; ###########################
;
; Projekt Titel: Mouse Avoider
; Autor: Jaap 'Thoniel.NET' Groeneveld
; Beginn: 10.1.06
; Idee: http://www.actionflash.com/mouseavoider2.php
;
; ###########################
;{/ ----- Initialisieren -----
InitSprite()
InitSprite3D()
InitMouse()
InitKeyboard()
UsePNGImageDecoder()
OpenWindow(#PB_Any, 10, 10, 640, 480, #PB_Window_ScreenCentered|#PB_Window_SystemMenu, "Mouse Avoider by Thoniel.NET /minigames")
OpenWindowedScreen(WindowID(),0,0,640,480, 1,0,0)
; OpenScreen(640,480,32,"Mouse Avoider")
;} ----- Initialisieren -----
;{/ ----- Variablen -----
; ----- Variablen Deklarieren -----
Global mx.f,my.f, Event
Global imgPlayer
; ----- Variablen Laden -----
#cfgPlayerTailLength = 4
Enumeration
#imgPlayer
EndEnumeration
;} ----- Variablen Ende -----
;{/ ----- Strukturen -----
Structure player
x.f
y.f
oldx.f
oldy.f
EndStructure
Global spieler.player\x, spieler.player\y
Structure playertail Extends player
remains.w
EndStructure
Dim tail.playertail(#cfgPlayerTailLength)
;} ----- Strukturen Ende -----
;{/ ----- Prozeduren -----
Procedure UpdateEngines()
FlipBuffers()
;maus
If GetFocus_() = WindowID()
If WindowMouseX()>0 And WindowMouseX()<640-1 And WindowMouseY()>0 And WindowMouseY()<480-1
ExamineMouse()
If captured = 0
ReleaseMouse(0)
captured = 1
MouseLocate(WindowMouseX(),WindowMouseY())
EndIf
Else
ReleaseMouse(1)
captured = 0
EndIf
Else
ReleaseMouse(1)
captured = 0
EndIf
; /maus
ExamineKeyboard()
ClearScreen(0,0,0)
Event = WindowEvent()
mx=WindowMouseX()
my=WindowMouseY()
EndProcedure
Procedure UpdatePlayerPosition()
spieler.player\oldx = spieler.player\x
spieler.player\oldy = spieler.player\y
spieler.player\x = mx
spieler.player\y = my
EndProcedure
Procedure UpdatePlayerTail()
Shared spieler.player\oldx, spieler.player\oldy
For i=0 To #cfgPlayerTailLength
tail.playertail(i)\oldx = tail.playertail(i)\x
tail.playertail(i)\oldy = tail.playertail(i)\y
Next
tail.playertail(0)\x = spieler.player\oldx
tail.playertail(0)\y = spieler.player\oldy
For i = 1 To #cfgPlayerTailLength
tail.playertail(i)\x = tail.playertail(i-1)\oldx
tail.playertail(i)\y = tail.playertail(i-1)\oldy
Next
EndProcedure
Procedure DrawPlayer()
DisplaySprite3D(#imgPlayer, spieler.player\x, spieler.player\y)
EndProcedure
Procedure DrawPlayerTail()
transparency.w = 100
faktor.w = #cfgPlayerTailLength/100
For i = 0 To #cfgPlayerTailLength
transparency = transparency - faktor
DisplaySprite3D(#imgPlayer, tail.playertail(i)\x, tail.playertail(i)\y, transparency)
Next
EndProcedure
;} ----- Prozeduren Ende -----
;{/ ----- Start Prozeduren -----
;} ----- Start Prozeduren Ende -----
;{/ ----- Mediendaten Laden -----
LoadSprite(#imgPlayer, "player.png", #PB_Sprite_Texture)
CreateSprite3D(#imgPlayer, #imgPlayer)
TransparentSpriteColor(#imgPlayer, 255, 0, 255)
;} ----- Mediendaten Laden Ende -----
;{/ ----- Hauptschleife -----
Repeat
UpdateEngines()
UpdatePlayerPosition()
UpdatePlayerTail()
Start3D()
DrawPlayerTail()
DrawPlayer()
Stop3D()
Until KeyboardPushed(#PB_Key_Escape) Or Event = #PB_Event_CloseWindow
End
;} ----- Hauptschleife Ende -----
why is that?
thanx for help