AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -50%
-50% Baskets Nike Air Huarache Runner
Voir le deal
69.99 €

 

 Problème de code

Aller en bas 
5 participants
AuteurMessage
sagix
Utilisateur confirmé: Rang **
sagix


Messages : 498
Localisation : Essonne

Problème de code Empty
MessageSujet: Problème de code   Problème de code EmptyVen 21 Avr 2006 - 19:45

Voilà j'ai écrit ce code, mais quand j'appuis sur left rien de se passe sans doute car le code pour right après qui le bloque snif

Code:

if keyboard_key=0
{
D=point_direction(x,y,mouse_x,mouse_y)
speed=0
}

if keyboard_check_direct(vk_up)
{
    if keyboard_check_direct(vk_left)
        {
        direction=D+45
        speed=4
        }
        else
        {
        direction=D
        speed=4
        }
    if keyboard_check_direct(vk_right)
        {
        direction=D-45
        speed=4
        }
        else
        {
        direction=D
        speed=4
        }
}
Revenir en haut Aller en bas
http://sagix.free.fr/
daminetreg
Administrateur
daminetreg


Messages : 16998
Localisation : Siege du CBNA!
Projet Actuel : Site Web du CBNA, version beta :

Problème de code Empty
MessageSujet: Re: Problème de code   Problème de code EmptyVen 21 Avr 2006 - 20:07

Je ne sais pas ce que tu veux faire avec ça mais en tous cas, il change de direction lorsque tu pressses et sur up et sur right ou et sur up et sur left, enfin d'après ce que je vois, je n'ai pas essayé.

_________________
Mon CV : fr - de - en
Le CBNA Tous Ensemble! Réalisons!
Problème de code U3dfr2
Revenir en haut Aller en bas
http://lecbna.org/
sagix
Utilisateur confirmé: Rang **
sagix


Messages : 498
Localisation : Essonne

Problème de code Empty
MessageSujet: Re: Problème de code   Problème de code EmptyVen 21 Avr 2006 - 20:43

en fait ce n'est qu'une partie du code car il va dans les 4 directions celon l'emplacement de la souris et bloc la direction lorsqu'on se déplace, et j'aurais foulu qu'il se déplacer aussi sur les diagonales donc au final sur 8 direction.

Voila la .gm6 si tu veux voir
01.gm6 - 0.01MB
Revenir en haut Aller en bas
http://sagix.free.fr/
daminetreg
Administrateur
daminetreg


Messages : 16998
Localisation : Siege du CBNA!
Projet Actuel : Site Web du CBNA, version beta :

Problème de code Empty
MessageSujet: Re: Problème de code   Problème de code EmptyVen 21 Avr 2006 - 20:50

Tu veux qu'il aille dans 8 directions en fait?
Ben il y a un script donné pour cela:
https://cbna.forumactif.com/viewtopic.forum?t=1723

_________________
Mon CV : fr - de - en
Le CBNA Tous Ensemble! Réalisons!
Problème de code U3dfr2
Revenir en haut Aller en bas
http://lecbna.org/
sagix
Utilisateur confirmé: Rang **
sagix


Messages : 498
Localisation : Essonne

Problème de code Empty
MessageSujet: Re: Problème de code   Problème de code EmptyVen 21 Avr 2006 - 22:10

Merci ca ma permis de voir ou ça ne marchait pas et aussi de simplifier mon code, en fait il ne fallait pas mettre le " direct "
Revenir en haut Aller en bas
http://sagix.free.fr/
gogo_swiffer
Banni(e)
gogo_swiffer


Messages : 3668
Localisation : America/Canada/Quebec/Mont-Laurier
Projet Actuel : rien changer parce que tout est sous contrôle

Problème de code Empty
MessageSujet: Re: Problème de code   Problème de code EmptyVen 21 Avr 2006 - 22:19

bha un truc facile (exemple)...:

image_angle = direction
if keyboard_check(vk_up) = true
{
if keyboard_check(vk_left) = true
{
direction = 45
}
else
{
direction = 90
}
}

: O.

_________________
les français sucent le robinet anglais
Revenir en haut Aller en bas
sagix
Utilisateur confirmé: Rang **
sagix


Messages : 498
Localisation : Essonne

Problème de code Empty
MessageSujet: Re: Problème de code   Problème de code EmptyVen 21 Avr 2006 - 22:48

Voila un petit problème qui en fait n'en est pas un, car j'ai écris un code pour que la vitesse varie en fonction de la souris mais ca me fait un code super long donc je me demandais s'il n'y avait pas moyen de faire plus court ^^

je vous mets le .gm6 si vous voulez voir ce que ça donne
01.gm6 - 0.01MB

Code:

image_angle=point_direction(x,y,mouse_x,mouse_y)

D=point_direction(x,y,mouse_x,mouse_y)


if D>45 && D<135 {P=0}
if D>135 && D<225 {P=1}
if D>225 && D<315 {P=2}
if D>315 && D<360 or D<45 {P=3}

if keyboard_key=0 {speed=0}

if P=0
{

if (keyboard_check(vk_left)) {direction=180 speed=3}

if (keyboard_check(vk_right)) {direction=0 speed=3}

if (keyboard_check(vk_up)) {direction=90 speed=4}

if (keyboard_check(vk_down)) {direction=-90 speed=2}

if (keyboard_check(vk_up)&&keyboard_check(vk_left)) {direction=135 speed=4}

if (keyboard_check(vk_up)&&keyboard_check(vk_right)) {direction=45 speed=4}

if (keyboard_check(vk_down)&&keyboard_check(vk_left)) {direction=-135 speed=3}

if (keyboard_check(vk_down)&&keyboard_check(vk_right)) {direction=-45 speed=3}

}

if P=1
{

if (keyboard_check(vk_left)) {direction=180 speed=4}

if (keyboard_check(vk_right)) {direction=0 speed=2}

if (keyboard_check(vk_up)) {direction=90 speed=3}

if (keyboard_check(vk_down)) {direction=-90 speed=3}

if (keyboard_check(vk_up)&&keyboard_check(vk_left)) {direction=135 speed=4}

if (keyboard_check(vk_up)&&keyboard_check(vk_right)) {direction=45 speed=3}

if (keyboard_check(vk_down)&&keyboard_check(vk_left)) {direction=-135 speed=4}

if (keyboard_check(vk_down)&&keyboard_check(vk_right)) {direction=-45 speed=3}

}

if P=2
{

if (keyboard_check(vk_left)) {direction=180 speed=3}

if (keyboard_check(vk_right)) {direction=0 speed=3}

if (keyboard_check(vk_up)) {direction=90 speed=2}

if (keyboard_check(vk_down)) {direction=-90 speed=4}

if (keyboard_check(vk_up)&&keyboard_check(vk_left)) {direction=135 speed=3}

if (keyboard_check(vk_up)&&keyboard_check(vk_right)) {direction=45 speed=3}

if (keyboard_check(vk_down)&&keyboard_check(vk_left)) {direction=-135 speed=4}

if (keyboard_check(vk_down)&&keyboard_check(vk_right)) {direction=-45 speed=4}

}

if P=3
{

if (keyboard_check(vk_left)) {direction=180 speed=2}

if (keyboard_check(vk_right)) {direction=0 speed=4}

if (keyboard_check(vk_up)) {direction=90 speed=3}

if (keyboard_check(vk_down)) {direction=-90 speed=3}

if (keyboard_check(vk_up)&&keyboard_check(vk_left)) {direction=135 speed=3}

if (keyboard_check(vk_up)&&keyboard_check(vk_right)) {direction=45 speed=4}

if (keyboard_check(vk_down)&&keyboard_check(vk_left)) {direction=-135 speed=3}

if (keyboard_check(vk_down)&&keyboard_check(vk_right)) {direction=-45 speed=4}

}
Revenir en haut Aller en bas
http://sagix.free.fr/
[TheDarkTiger]
Modérateur
[TheDarkTiger]


Messages : 7420
Localisation : Essonne

Problème de code Empty
MessageSujet: Re: Problème de code   Problème de code EmptySam 22 Avr 2006 - 0:05

Code:

{
image_angle=point_direction(x,y,mouse_x,mouse_y);
D=point_direction(x,y,mouse_x,mouse_y);


if D>45 && D<135 then
{
// vitesse pour les déplacements dans les directions
speedy[0]=3;
speedy[1]=3;
speedy[2]=4;
speedy[3]=2;
// et dans les diagonales
speedy[4]=4;
speedy[5]=4;
speedy[6]=3;
speedy[7]=3;
}
if D>135 && D<225 then
{
// vitesse pour les déplacements dans les directions
speedy[0]=4;
speedy[1]=2;
speedy[2]=3;
speedy[3]=3;
// et dans les diagonales
speedy[4]=4;
speedy[5]=3;
speedy[6]=4;
speedy[7]=3;
}
if D>225 && D<315 then
{
// vitesse pour les déplacements dans les directions
speedy[0]=3;
speedy[1]=3;
speedy[2]=2;
speedy[3]=4;
// et dans les diagonales
speedy[4]=3;
speedy[5]=3;
speedy[6]=4;
speedy[7]=4;
}
if D>315 && D<360 or D<45 then
{
// vitesse pour les déplacements dans les directions
speedy[0]=2;
speedy[1]=4;
speedy[2]=3;
speedy[3]=3;
// et dans les diagonales
speedy[4]=3;
speedy[5]=4;
speedy[6]=3;
speedy[7]=4;
}

if keyboard_key=0 {speed=0}

// on se déplace ^^

if (keyboard_check(vk_left)) {direction=180 speed=speedy[0]}

if (keyboard_check(vk_right)) {direction=0 speed=speedy[1]}

if (keyboard_check(vk_up)) {direction=90 speed=speedy[2]}

if (keyboard_check(vk_down)) {direction=-90 speed=speedy[3]}

if (keyboard_check(vk_up)&&keyboard_check(vk_left)) {direction=135

speed=speedy[4]}

if (keyboard_check(vk_up)&&keyboard_check(vk_right)) {direction=45

speed=speedy[5]}

if (keyboard_check(vk_down)&&keyboard_check(vk_left)) {direction=-135

speed=speedy[6]}

if (keyboard_check(vk_down)&&keyboard_check(vk_right)) {direction=-45

speed=speedy[7]}

}

ca doit marcher ^^
mais de là dire que c'est plus rapide, ou plus simple ...

EDIT :
j'ai testé, ca marche ^^

_________________
Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^
Problème de code U3dfr2Problème de code Sign l'antique
Bienvenue au 2630eme utilisateur : Mike Kennedy !
Revenir en haut Aller en bas
http://www.tdms.fr
Kryptos
Utilisateur confirmé: Rang ****
Kryptos


Messages : 1058
Localisation : très loin dans un univers étrange
Projet Actuel : Space Racer, un jeu multijoueur en ligne réalisé avec Unity 3D.

Problème de code Empty
MessageSujet: Re: Problème de code   Problème de code EmptySam 22 Avr 2006 - 3:17

Déjà, les if else à la suite c'est moche : préférez la structure switch. Dans le cas de ton code, utilise une fonction intermédiaire, qui reprend les paramètres pour les touches directionnelles.

_________________
Problème de code Gmq5
Venez tester la beta de notre jeu de course Space Racer (conçu avec Unity 3D)
Revenir en haut Aller en bas
http://s150319444.onlinehome.fr
Contenu sponsorisé





Problème de code Empty
MessageSujet: Re: Problème de code   Problème de code Empty

Revenir en haut Aller en bas
 
Problème de code
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Probleme code
» Probleme avec mon code
» Problème dans mon code
» Problème avec mon code
» Problème de code avec object_event_add();

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide débutants-
Sauter vers: