miten voi tehdä suht-sujuvan aseenvaihdon? (niin ettei toisella aseella voi ampua samaan aikaan)
oma koodi toimii sujuvasti, mutta vain kahdella aseella. miten tästä jatkaisi?
Code: Select all
SCREEN 1000,800
FrameLimit 50
ukko = LoadObject("media\soldier.bmp",360)
Type AMMUS
Field obj
Field id
End Type
mAmmus = LoadObject("Media\bullet.bmp")
ShowObject mAmmus,OFF
panokset1=12
panokset2=30
panokset3=100
ASE=0
repeat
If MouseHit(2) Then ASE = Not ASE
'pistooli
If MouseDown(1) And reload=0 Then
Select ASE
Case 0
If panokset1>0 Then
panokset1-1
luoti.AMMUS = New(AMMUS)
luoti\id=0
luoti\obj=CloneObject(mammus)
CloneObjectPosition luoti\obj,ukko
CloneObjectOrientation luoti\obj,ukko
ResetObjectCollision luoti\obj
MoveObject luoti\obj,5,-3
TurnObject luoti\obj,Rand(3,-3)
reload=20
Else
reload=50
If Timer()>lataus+300 Then
valmis=Not valmis
lataus=Timer()
EndIf
If valmis Then
panokset1=12
EndIf
EndIf
'rynnäkkökivääri
Case 1
If panokset2>0 Then
panokset2-1
luoti.AMMUS = New(AMMUS)
luoti\id=1
luoti\obj=CloneObject(mammus)
CloneObjectPosition luoti\obj,ukko
CloneObjectOrientation luoti\obj,ukko
ResetObjectCollision luoti\obj
MoveObject luoti\obj,3,0
TurnObject luoti\obj,Rand(5,-5)
reload=8
Else
reload=40
If Timer()>lataus+500 Then
valmis=Not valmis
lataus=Timer()
EndIf
If valmis Then
panokset2=30
EndIf
EndIf
'konekivääri
Case 2
If panokset3>0 Then
panokset3-1
luoti.AMMUS = New(AMMUS)
luoti\id=1
luoti\obj=CloneObject(mammus)
CloneObjectPosition luoti\obj,ukko
CloneObjectOrientation luoti\obj,ukko
ResetObjectCollision luoti\obj
MoveObject luoti\obj,3,0
TurnObject luoti\obj,Rand(8,-8)
reload=2
Else
reload=40
If Timer()>lataus+800 Then
valmis=Not valmis
lataus=Timer()
EndIf
If valmis Then
panokset2=100
EndIf
EndIf
EndSelect
EndIf
If reload>0 Then reload=reload-1
For luoti.AMMUS = Each AMMUS
Select luoti\id
Case 0
MoveObject luoti\obj,8
If Distance2(luoti\obj,ukko)>200 Then
DeleteObject luoti\obj 'poista objekti
Delete luoti 'poista luoti kokonaan
EndIf
Case 1
MoveObject luoti\obj,12
If Distance2(luoti\obj,ukko)>400 Then
DeleteObject luoti\obj 'poista objekti
Delete luoti 'poista luoti kokonaan
EndIf
Case 2
MoveObject luoti\obj,8
If Distance2(luoti\obj,ukko)>800 Then
DeleteObject luoti\obj 'poista objekti
Delete luoti 'poista luoti kokonaan
EndIf
End Select
Next luoti
DrawScreen
Forever