CCJ
Messages postés565Date d'inscriptionmercredi 19 mai 2004StatutMembreDernière intervention30 avril 2008
-
11 sept. 2004 à 19:45
CCJ
Messages postés565Date d'inscriptionmercredi 19 mai 2004StatutMembreDernière intervention30 avril 2008
-
11 sept. 2004 à 22:15
bonjour!
Je suis entrain de faire un jeu aser basic(des pettit carré!)dont les petit carré (des labels)se deplace avec:
if keycode = vbkeyup then
playeur1.top = playeur1.top + 120
end if
voila mais comment faire pour que mes petits bonhomes(carré)ne puisse pas aller dans toutes les zones d'une certaine couleur?
voila merci de vos reponses
voila
VirusMan :-p
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 201934 11 sept. 2004 à 21:51
X,y c'est les coordonnées du point à tester
0,0 c'est le point en haut à gauche
Me.ScaleWidth-1, Me.ScaleHeight-1 c'est le point en bas à droite
je pense qu'il faut tester tous les nouveaux points où va se retrouver le petit carré.
si depy > 0 --> déplacement vers le bas
Ancienneposition = playeur1.top + playeur1.Height - 1
NouvellePosition = AnciennePosition + depy
for y = AnciennePosition to NouvellePosition
for x=Playeur1.Left to Playeur1.Left + Playeur1.Width - 1
couleur = GetPixel(Me.hdc,x,y)
if couleur = interdite then --> pas de déplacement
next x
next y
si depy < 0 --> déplacement vers le haut
Ancienneposition = playeur1.top
NouvellePosition = AnciennePosition + depy
for y = AnciennePosition to NouvellePosition step - 1
for x=Playeur1.Left to Playeur1.Left + Playeur1.Width - 1
couleur = GetPixel(Me.hdc,x,y)
if couleur = interdite then --> pas de déplacement
next x
next y
si depx > 0 --> déplacement vers la droite
Ancienneposition = playeur1.Left + playeur1.Width - 1
NouvellePosition = AnciennePosition + depx
for x = AnciennePosition to NouvellePosition
for y=Playeur1.Top to Playeur1.Top + Playeur1.Height - 1
couleur = GetPixel(Me.hdc,x,y)
if couleur = interdite then --> pas de déplacement
next x
next y
si depx < 0 --> déplacement vers la gauche
Ancienneposition = playeur1.Left
NouvellePosition = AnciennePosition + depx
for x = AnciennePosition to NouvellePosition step - 1
for y=Playeur1.Top to Playeur1.Top + Playeur1.Height - 1
couleur = GetPixel(Me.hdc,x,y)
if couleur = interdite then --> pas de déplacement
next x
next y
CCJ
Messages postés565Date d'inscriptionmercredi 19 mai 2004StatutMembreDernière intervention30 avril 20081 11 sept. 2004 à 20:50
j'y connai rien a getpixel:
-a quoi correspond x et y
-coment l'utiliser pour empecher mon carre dans un zone d'une certaine couleur
si kelkun repond a ces question ca serrai vraiment sympas merci
VirusMan :-p
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 201934 11 sept. 2004 à 21:55
inversion des deux next pour les deux derniers déplacements droite et gauche
si depx < 0 --> déplacement vers la gauche
Ancienneposition = playeur1.Left
NouvellePosition = AnciennePosition + depx
for x = AnciennePosition to NouvellePosition step - 1
for y=Playeur1.Top to Playeur1.Top + Playeur1.Height - 1
couleur = GetPixel(Me.hdc,x,y)
if couleur = interdite then --> pas de déplacement
next y
next x
Vous n’avez pas trouvé la réponse que vous recherchez ?
CCJ
Messages postés565Date d'inscriptionmercredi 19 mai 2004StatutMembreDernière intervention30 avril 20081 11 sept. 2004 à 22:15
tu veut dire que a chaque deplacement j'enregistre la posistion initiale et la direction puis si mon getpixel me done une bonne couleur je change rien sinon je fais demi-tour.ca me semble une bonne idee
merci!
VirusMan :-p