(lingo:) faire un labyrinthe sous director

faire un labyrinthe sous director (lingo:) - Divers - Programmation

Marsh Posté le 08-01-2003 à 10:23:05    

je cherche un tutorial (ou un peu d'aide) pour faire un bete labyrinthe vue du dessus...
j'ai deja la partie graphique et je me heurte au PB des collision, sans trops rentrer dans les details je vous livre mon raisonement:  
- quand la boulle n'est pas en contact avec un mur, deplacement assujeti au clavier
- si la boulle rencontre un mur (en gros: mur intersects boulle) le mur envoie a la balle un instruction collision avec comme parametre la direction (G/D ou H/B) par lequel elle arrive sur le mur et la position de ce mur.
NB: 2 codes different gere les collision vertical et horizontal
- quand la boulle est en "collision" j'ai un flag qui modifie son comportement afin de ne gere plus que 3 direction
mon code parait correct en theorie mais il arrive a certaine vitesse (ou lorsqu'on change la fleche de direction au moment du choc) que la balle traverse ce qui est un peu moyen pour un labyrinthe
 
 
si vous voulez mon code je peut le mettre ici (en tout cas la partie boulle et la partie mur) mais sinon si vous avez deja vu un tutorial bien fait et dans un lingo "begginer proof" ca m'interresse!

Reply

Marsh Posté le 08-01-2003 à 10:23:05   

Reply

Marsh Posté le 08-01-2003 à 19:49:33    

Pas trop le temps de répondre pour le moment mais en attendant jette un oeil ici :
http://www.nonoche.com/imaging/fr/index.html

Reply

Marsh Posté le 09-01-2003 à 10:05:45    

merci lien tres interressant ( et que je ne connaissait pas)
malheureusement  je debute dans les liste mais je vais en faire une priorite ;)

Reply

Marsh Posté le 09-01-2003 à 11:10:13    

Est-ce que tu fais un déplacement case par case (c'est-à-dire j'appuie sur flèche gauche donc je me déplace d'une case à gauche) ou continue (j'appuie sur flèche gauche et mon perso se déplace toujours à gauche tant que je laisse appuyé).

Reply

Marsh Posté le 09-01-2003 à 16:14:20    

je veux ! je veux! c'est un bien grand mot, je fait surtout ce que je peut mais comme mon labyrinthe n'est deja pas tres grand (environ circoncis dans un 640x480 a cause de l'habillage graphique) le mode case a case me semble peu ludique alors j'ai prefere lui donner un continu...
il est peut etre temps de te donner le code ...
 
--------------------------la balle (sprite 5)
 
property vx, vy
global h, v
 
on beginsprite me
  vx = 0
  vy = 0
end
 
on collider me, dir
   
  if dir = #g then
    vx = 0
    sprite(5).loch = h + 15
  else if dir = #d then
    vx = 0
    sprite(5).loch = h - 15
  end if
   
  if dir = #h then
    vy = 0
    sprite(5).locv = v + 15
  else if dir = #b then
    vy = 0
    sprite(5).locv = v - 15
  end if
   
  if dir = #w then
    sound(1).play(member("applause" ))
    go to frame 1
  end if
   
end
 
on exitframe me
   
  if keypressed(123) then
    vx = vx - 10
    if vx < -20 then
      vx = -20
    end if
  else if keypressed(124) then
    vx = vx + 10
    if vx > 20 then
      vx = 20
    end if
  end if
   
  if keypressed(126) then
    vy = vy - 10
    if vy < -20 then
      vy = -20
    end if
  else if keypressed(125) then
    vy = vy + 10
    if vy > 20 then
      vy = 20
    end if
  end if
 
end
 
-------------mur x (associé a tout les murs horizontaux)
 
global h
 
on beginsprite me
  sprite(me.spritenum).locZ = -100
  h = 0
end
 
on exitframe me
  if sprite 5 intersects me.spritenum then
    sendsprite(3, #vie)
    h = sprite(me.spritenum).loch
    if sprite(5).loch < sprite(me.spritenum).loch then
      sendsprite(5, #collider, #g)
    else if sprite(5).loch > sprite(me.spritenum).loch then
      sendsprite(5, #collider, #d)
    end if
  end if
end
  end if
   
  sprite(5).loch = sprite(5).loch + vx
  sprite(5).locv = sprite(5).locv + vy
   
end
 
- la condition w (win) ce produit quand la boulle est en contact avec le sprite de l'arrivée
- j'ai mis que mur x car mur y est franchement tres identique
- si il manque un end ou un end if  a la fin du script de la boulle c'est surement un PB de copier / coller (y 'as pas director sur les postes internet de mon ecole)
- sois indulgent ca fait 2 mois que j'essaye director a un rythme peu intensif (pas assez a mon gout)
 
NB: si QQ'un connait des bons bouquin pour commencer director ca m'interresse (ceux que j'ai vu a la fnac sont soit trops compliqué (faire un jeu en 3D entierement en lingo) soit vraiment trops simple)

Reply

Marsh Posté le 09-01-2003 à 16:51:44    

mechkurt a écrit :

je veux ! je veux! c'est un bien grand mot, je fait surtout ce que je peut mais comme mon labyrinthe n'est deja pas tres grand (environ circoncis dans un 640x480 a cause de l'habillage graphique) le mode case a case me semble peu ludique alors j'ai prefere lui donner un continu...
il est peut etre temps de te donner le code ...


 
Sinon j'ai trouvé un article qui t'aidera sans doute (le site en entier est une véritable MINE ! Bien plus intéressant qu'un bouquin à mon avis !).
http://www.director-online.com/acc [...] cfm?ID=815
 
Pas trop le temps de me plonger dans ton code là (mais à première vue il me semble bien compliqué pour ce que c'est)...

Reply

Marsh Posté le 09-01-2003 à 21:35:13    

m'etonne pas que ce soit trops complique, j'arrete pas de rajouter des lignes pour essayer d'empecher cette &é"&é'?§! de boulle de traverser les murs
;)

Reply

Marsh Posté le 10-01-2003 à 11:39:55    

par exemple je suis obligé de plafonner la vitesse (au dessus de 20 il "n'intersect pas les murs" mais se teleporte de l'autre cote)
sinon l'article de director online est exactement ce qu'il me faut merci beaucoups, j'essaye ce week-end (il faudrat que je me plonge dans les listes car j'ai jamais utilisé ca avant)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed