kertokaa kuinka saan ohjelmoitua panoksen lähtemään ukosta tiettyä nappia painamalla.
coolbasic
basic
4431
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Turvaa tilisi vahvistamalla puhelinnumerosi. Voit silloin palauttaa unohtuneen salasanan tekstiviestillä.
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 4
Vanhimmat
valmista koodia en voi/halua antaa mutta oletan että osaat coolbasicia.
koeta tehdä koodi joka tekee seuraavat asiat
1.kun painetaan väliä(space) piirtää panoksen ukon sijaintiin
2.panos lähtee siirtymään tiettyyn suuntaan
(jos osaat laittaa ukon liikkuman,osaat laittaa panoksenkin)
3.muutuja joka sisältää panoksen (loadimage-muutuja) tuhotaan kun panoksen koordinaatit ovat samat kuin esteen koordinaatit josta panoksen ei kuulu pääsä läpi.
jos oli liian munimutkaista niin takaisin oppaan ääreen :)
ja jos onnistui nii kannattanee tehdä "kirjanmerkki" joka sisältää panoksen lähetys käskyt.
esim:
painaa väliä goto ammu
ammu:
tässä on "ampumisen" koodi
Olihan seikkaperäinen ohje :)))
"ja jos onnistui nii kannattanee tehdä "kirjanmerkki" joka sisältää panoksen lähetys käskyt.
esim:
painaa väliä goto ammu
ammu:
tässä on "ampumisen" koodi"
Oletko kuullut ikinä sellaisista kuin aliohjelmat?
Mihin aliohjelmia tarvitsee kun gotolla voi ajaa saman asian! Sitäpaitsi koodista saa paljon suojatumpaa tekemällä kunnon spagettia kun siitä ei ota sit erkkikään selvää =))))
Tein tämmöisen koodin pätkän.
'Ladataan hommelit muuta ammus.bmp omaksi kuvaksi
tyyppi=LoadImage("Media/image/Guy.bmp")
ammus=LoadImage("ammus.bmp")
'Laitetaan tyypin kääntyvyys
Dim sprites(36)
For i=0 To 36
temp=CloneImage (tyyppi)
ImageMaskColor temp,255,0,255
RotateImage temp,-i*10
sprites(i)=temp
Next i
'Laitetaan aloitus koordinaatit
x#=200:y#=150
lupaampua=True
ammusnopeus=5
'Päälooppi alkaa
Repeat
Cls
'Kontrollit
If LeftKey() Then kulma=kulma 1
If RightKey() Then kulma=kulma-1
'Ampuu välistä
If KeyHit(cbKeySpace) And lupaampua=True Then
ammuskulma=kulma
ammusx#=x#
ammusy#=y#
lupaampua=False
EndIf
'Jos ammus on lennossa
If lupaampua=False Then
'Liikutetaan ammusta
ammusx#=ammusx# Cos(ammuskulma)*ammusnopeus:ammusy#=ammusy#-Sin(ammuskulma)*ammusnopeus
'Piirretään ammus
DrawImage ammus,ammusx#,ammusy#
EndIf
'Jos ammus menee yli ruudun annetaan lupa ampua uudestaan
If ammusx#400 Or ammusy#300 Then
lupaAmpua=True
EndIf
DrawImage sprites(kulma/10),x#,y#
If kulma360 Then kulma=kulma-360
Sync
Forever
Se ampuu yhden ammuksen kerrallaan.