Engine Hitskin_logo Hitskin.com

Ceci est une prévisualisation d'un thème de Hitskin.com
Installer le thèmeRetourner sur la fiche du thème



AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  
Le Deal du moment :
Carte Fnac+ Jackpot avec 30€ offerts sur le ...
Voir le deal
19.99 €

 

 Engine

Aller en bas 
+2
onilink_
kepler
6 participants
Aller à la page : 1, 2  Suivant
AuteurMessage
kepler
Débutant
kepler


Messages : 13

Engine Empty
MessageSujet: Engine   Engine EmptyMar 17 Avr 2012 - 14:20

Bonjour tout le monde,

je suis sur le point de commencer le développement d'un jeu de plateforme (les graphismes sont bien avancés).

Le but est qu'il soit compatible html5. Apparemment game maker permet cette compatibilité via une licence.

J'ai choisi une résolution de 480*320 pour mon jeu et la taille des sprites est de 48*48.

Petit soucis: je n'y connais rien en programmation, mais je veux bien apprendre.

j'ai vu que des moteurs existent déjà comme par exemple le hello engine.

excellent si on a pas envie de réinventer la roue.

je ne sais pas comment on utilise ces "engine"

pouvez vous me conseiller svp ?

merci
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Engine Empty
MessageSujet: Re: Engine   Engine EmptyMar 17 Avr 2012 - 14:49

Salut :b
Ben pour utiliser un moteur, a la base vaux mieux quand même savoir programmer un minimum, sinon a part changer la partie graphique du moteur tu pourras pas faire grand chose, et t'auras pas beaucoup de mérite x)
Les jeux de plateforme ça reste quand même le le type de jeu certainement le plus adapté a faire avec GM, alors je te conseille de lire quelques tutos, regarder quelques exemples, et te familiariser avec GM avant d'acheter une quelconque licence de GM HTML5, qui est trèèèès cher pour ce qu'elle est ...

Donc essaye déjà de faire ton jeu avec une version gratuite de GM, et si tu y arrive pourquoi pas transformer ton jeu en jeu HTML5 Wink

Revenir en haut Aller en bas
kepler
Débutant
kepler


Messages : 13

Engine Empty
MessageSujet: Re: Engine   Engine EmptyMar 17 Avr 2012 - 17:15

merci pour ta réponse et message bien compris.

par contre le drap & drop suffit il ?

et retrouve t on le drap & drop dans game maker studio ?
Revenir en haut Aller en bas
Johny Wessmuller
Utilisateur confirmé: Rang *



Messages : 233

Engine Empty
MessageSujet: Re: Engine   Engine EmptyMar 17 Avr 2012 - 21:52

Normalement le D&D suffit mais bon le gml c'est bien mieux.
Pour l'autre question, je n'en sais rien, mais je suis certain que oui.

Le gros avantage du D&D est qu'au lieu de retenir le nom gml d'une fonction, on peut ne retenir que l'image.
Sinon, la syntaxe du gml est même plus simple, plus claire et plus modulable que celle du D&D car non seulement on n'a pas besoin de cliquer sur une icône pour savoir ce qu'elle contient, mais en plus rapide à écrire : deux exemples : il y a la saisie automatique pour certaines choses, et pour les variables, il suffit juste de les écrire pour les déclarer ou les modifier, enfin écrire est souvent plus rapide qu'aller dans le bon onglet-cliquer-déplacer-effectuer les réglages. Enfin, comme c'est du texte et que le gml est assez sympa tu peux l'agencer comme tu veux, ce qui signifie que si tu l'indentes bien, tu peux rendre ton code très agréable à lire surtout avec la colorisation automatique.

Beaucoup de fonctions intéressantes n'existent pas en D&D, comme collision_line.

En tant que simple texte, ton code est portable, donc tu peux le réutiliser pour tes autres jeu ou le poster pour savoir d'où vient le problème avec un simple copier-collé.

[edit]Il ne faut pas avoir peur du gml parce que cela ressemble plus à de la vraie programmation que le D&D. En fait les 2 sont des langages de programmation. La structure d'un code D&D est la même que son équivalent en gml.

Enfin, même si tu préferes retenir les images plutôt que les noms quitte à perdre tout cela, il te sera peut-être nécessaire d'utiliser quand même ces noms...

Et si tu veux des liens pour apprendre, je te renvoie au sujet ci-dessous, où je donne des conseils et des liens à un autre débutant.

https://cbna.forumactif.com/t11668-probleme-de-cote
Revenir en haut Aller en bas
SPLN
Utilisateur confirmé: Rang ***
SPLN


Messages : 588
Localisation : Sur son ordinateur *vous vois* arrêtez de me regarder comme ça
Projet Actuel : En quête de projet(s)!
Mes projets:
SP Lecteur Multimedia (Stand by)
S-Portable Graphics (demo1.8 is out! demo2.0 is planned)
SSB RPG (Stand by)

Engine Empty
MessageSujet: Re: Engine   Engine EmptyMer 18 Avr 2012 - 3:58

Sinon tu as le CBNA D&D Decoder si tu veux retrouver l'équivalent en GML des fonctions D&D. Ça m'a été très utile car il m'a permis de "transitionner" transiter du D&D vers le GML.


Dernière édition par SPLN le Mer 18 Avr 2012 - 18:00, édité 2 fois
Revenir en haut Aller en bas
http://sp-lecteur-multimedia.skyrock.com/
Johny Wessmuller
Utilisateur confirmé: Rang *



Messages : 233

Engine Empty
MessageSujet: Re: Engine   Engine EmptyMer 18 Avr 2012 - 12:56

Engine Mini_315853TEST
Revenir en haut Aller en bas
SPLN
Utilisateur confirmé: Rang ***
SPLN


Messages : 588
Localisation : Sur son ordinateur *vous vois* arrêtez de me regarder comme ça
Projet Actuel : En quête de projet(s)!
Mes projets:
SP Lecteur Multimedia (Stand by)
S-Portable Graphics (demo1.8 is out! demo2.0 is planned)
SSB RPG (Stand by)

Engine Empty
MessageSujet: Re: Engine   Engine EmptyMer 18 Avr 2012 - 17:57

J'avoue que le matin je n'ai pas les idées très claires Razz
Revenir en haut Aller en bas
http://sp-lecteur-multimedia.skyrock.com/
kepler
Débutant
kepler


Messages : 13

Engine Empty
MessageSujet: Re: Engine   Engine EmptyMer 18 Avr 2012 - 20:46


merci pour vos posts instructifs.

j'ai suivi les conseils de onilink, je me suis abonné sur ces tutos link (il va un peu vite notre québécois)

@onilink c'est pas grave si je dois passer par un moteur déjà existant pour faire mon jeu.
Le mérite, pour moi, ce serait que je produise un jeu original, beau (tout est créer aucun sprite recupérer) et je pensais que passer par hello engine me ferait gagner du temps Wink

@ Johny Wessmuller après t'avoir lu ça donne envie de pratiquer le GML. avec la video plus haut j'ai pu animer mon perso en quelques clic existe t il la même chose pour le GML ?

@ SPLN merci
Revenir en haut Aller en bas
Johny Wessmuller
Utilisateur confirmé: Rang *



Messages : 233

Engine Empty
MessageSujet: Re: Engine   Engine EmptyJeu 19 Avr 2012 - 17:25

Je ne sais pas s'il existe des vidéos montrant comment on programme en gml, d'ailleurs à mon avis ce serait moins efficace qu'un support de type texte.

Du reste, pour le support de type texte, voici le récapitulatif des liens que j'ai donné à Bahamut
Spoiler:
Le quote qui suit est bien plus facultatif, mais d'une grande utilité
Spoiler:

A présent de nouveaux liens :
La partie 2 du cours intégral dont j'ai donné le lien de la p1 plus haut :
http://www.lecbna.org/pages/tuto_list.php?subaction=showfull&id=1239568315&archive=&start_from=&ucat=12&
Dans la sous-catégorie game maker de la catégorie développement de ce forum, il y a des tas de tutos, exemple
https://cbna.forumactif.com/t10919-tutoriels-apprendre-le-gml, qui a l'air très bien fait.

https://cbna.forumactif.com/t11209-atelier-gml-1-fonctions-et-variables

Enfin, n'hésite pas à faire des recherches dans la sous-cat game maker, dans la sous-cat aide débutant et dans la sous-cat aide confirmée, qqn a sûrement déjà eu ton problème avant toi.

Pour la vidéo, c'est vrai qu'il va un peu vite ; il n'explique pas pourquoi il utilise Event - Key Press plutôt que Event - Keyboard par exemple. Voici l'explication (je répondais à qn d'autre)
Spoiler:
Bref, pour faire le même déplacement en gml voici comment tu peux faire
Soit tu vas directement dans step Engine Fall-down-stairs et dans ceci : Engine Action_code (c'est là qu'on écrit le code) tu mets :
Spoiler:
Sinon met dans Event - Key Press left le code qui est entre les 2 premières accolades, dans Event - Key Press right celui qui est entre les 2 suivantes, dans Event - Key Release left celui qui est dans les 2 qui suivent, et dans Event - Key Release right celui qui est entre les 2 dernières.
Et voici rapidement ma version améliorée de son code (et non testée) :
Spoiler:
Quand tu comprendras mon code, tu auras fait un grand pas dans le monde merveilleux (lol) de game maker clinoeuil . Si tu te demandes pourquoi j'ai créé une variable hvitesse, c'est pour faciliter la gestion des collisions plus tard. [edit] Quant à la variable vitesse, c'est si tu veux la modifier sans tout réécrire.
Note : Tu remarqueras l'indentation qui rend le code bien lisible.

De rien.

[edit] dernier edit à 17:33 à mon avis le code est maintenant fonctionnel mais toujours pas testé par moi
Revenir en haut Aller en bas
kepler
Débutant
kepler


Messages : 13

Engine Empty
MessageSujet: Re: Engine   Engine EmptyJeu 19 Avr 2012 - 19:47

merci mr Wessmuller, c'est... comment dire... copieux! ça fait même un peu peur gnii

j'ai lu le premier lien et déjà ça pique les yeux gha : INSTANCE, késako ?

je n'arrive pas à cerner ce mot.

Revenir en haut Aller en bas
Johny Wessmuller
Utilisateur confirmé: Rang *



Messages : 233

Engine Empty
MessageSujet: Re: Engine   Engine EmptyJeu 19 Avr 2012 - 20:05

Une instance d'un objet est un "individu" de cet objet.
Exemple : tu crées un objet ennemi. Apres tu poses plein d'ennemis partout sur la map. Chacun de ces ennemis est une instance de l'objet ennemi.

Chaque instance est reperée par un numéro unique : l'ID.

A présent pour t'aider dans mon code :
hspeed est une variable prédéfinie de game maker qui contrôle la vitesse horizontale de l'instance.
image_xscale est une variable prédéfinie de gm qui contrôle l'étirement horizontal du sprite. Ainsi, si tu met image_xscale=16, le sprite sera étiré horizontalement d'un facteur 16, il sera 16 fois plus grand horizontalement.
Si tu mets une valeur négative, ton sprite subira une symétrie par rapport à l'axe vertical avant d'être étiré du facteur égal à la valeur absolue de ce que tu as mis. (pense à bien centrer l'abscisse du sprite dans les reglages du sprite). Donc si tu mets -1, ton sprite sera le même mais avec une symétrie par l'axe vertical.

Et sinon, qu'est-ce que tu dis du test réalisé avec ma version du code ?
Normalement, les plus immédiats (donc pas la gestion des collisions) sont qu'à l'arrêt, mario reprend son sprite de départ, et que les changements de direction sont plus faciles.
Revenir en haut Aller en bas
kepler
Débutant
kepler


Messages : 13

Engine Empty
MessageSujet: Re: Engine   Engine EmptyJeu 19 Avr 2012 - 21:37

sincèrement désolé je viens de me rendre compte que le lien que j'ai donné n'est pas le bon .

c'est ici que ça se passe bon link

c'est toujours notre ami québécois mais c'est sur castelvania.

très claire ton explication de l'instance merci.
Revenir en haut Aller en bas
Caly
Utilisateur confirmé: Rang ****
Caly


Messages : 1285
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

Engine Empty
MessageSujet: Re: Engine   Engine EmptyVen 20 Avr 2012 - 10:07

Spoiler:


=>

Spoiler:

* disparaît comme il est apparut *
Revenir en haut Aller en bas
Johny Wessmuller
Utilisateur confirmé: Rang *



Messages : 233

Engine Empty
MessageSujet: Re: Engine   Engine EmptyVen 20 Avr 2012 - 11:42

J'ignorais les valeurs que renvoyaient keyboard_check, j'aime bien cette idée du h_move hap
Cela dit, dir_x ne sert à rien dans ton code.[edit] je retire ça, dir_x joue un rôle similaire à la variable droite de mon code[/edit]
De plus, dans mon code, la variable droite est très utile ; elle permet de connaître l'orientation du perso. Voir le problème de Bahamut.
En outre, lorsque Mario s'arrête avec mon code, il reprend son sprite mario_arret.
Enfin, le changement de direction est simplifié avec mon code : avec ton code si on appuie sur gauche et droite en même temps, le perso s'arrête, avec le mien, le perso fait son mouvement selon la dernière touche appuyée, et si on relâche une touche, il fait son mouvement selon celle qui reste pressée.

Sinon, c'est clair que ça réduit gnii
Revenir en haut Aller en bas
kepler
Débutant
kepler


Messages : 13

Engine Empty
MessageSujet: Re: Engine   Engine EmptyDim 22 Avr 2012 - 15:39

arrg je souffre les gars triste2
Revenir en haut Aller en bas
kepler
Débutant
kepler


Messages : 13

Engine Empty
MessageSujet: Re: Engine   Engine EmptySam 28 Avr 2012 - 15:08

bonjour,

tout d'abord, je vous présente le héros de mon projet créé de toute pièce.

Engine Heropr12

Il marche, il saute, il tire une petite de boule de feu, il nage.

j'ai essayer d'utiliser les scripts de johny et caly mais mon perso n'a pas dénier bouger un pouce gnii

j'ai cinq jours de congés, donc un peu de temps.

j'ai décidé après avoir lu les liens et les pistes gentiment mis à ma disposition, que je vais d'abord passer le drap&drop pour creer les mouvements puis le traduire en GML dans un second temps.

je vais toujours utiliser les vidéos de notre ami québécois

vidéos tutos castlevania

vidéos tutos mario

j'utilise la version lite en attendant de faire un choix entre la version pro ou studio, n'hésitez pas à me donner votre avis.

Edit: pour les débutants comme moi qui cherchent et qui ne le connaissent pas, ce tuto video en anglais, mais accessible, peut nous aider içi

Edit n°2

@johny Wessmuller

je commence à comprendre ton code happy1

j'y vais doucement...

en premier lieu tu créer 3 variables dans l'objet du sprite, tu fais "add event"puis "create" et "execute a piece of code"
vitesse=5 --> la vitesse, je suppose.
droite=1 --> sera utilisé pour un déplacement vers la droite quand le "bouton droit" aura été pressé au dernier step et droite=-1 déplacement vers la gauche quand le bouton gauche aura été préssé au dernier step.
hvitesse=0 --> je suppose que c'est lié à la vitesse horizontal : vitesse=5 et -vitesse=-5 ?
mais j'ai besoin d'être éclairé else hvitesse=0;
est que ça a voir avec un stop ou un truc comme ça ?

c'est plutôt bon ? merci
Revenir en haut Aller en bas
Johny Wessmuller
Utilisateur confirmé: Rang *



Messages : 233

Engine Empty
MessageSujet: Re: Engine   Engine EmptyVen 4 Mai 2012 - 10:47

kepler a écrit:

en premier lieu tu créer 3 variables dans l'objet du sprite, tu fais "add event"puis "create" et "execute a piece of code"
Oui.
kepler a écrit:
vitesse=5 --> la vitesse, je suppose.
Oui, tu pourrais mettre directement par exemple hvitesse=5 pour changer ta vitesse, mais l'avantage d'utiliser une variable est si tu veux la changer pendant le jeu, ou si tu veux la changer dans le create pour tester rapidement des valeurs différentes.
kepler a écrit:
droite=1 --> sera utilisé pour un déplacement vers la droite quand le "bouton droit" aura été pressé au dernier step et droite=-1 déplacement vers la gauche quand le bouton gauche aura été préssé au dernier step.
Non beh En fait la variable droite sert à savoir laquelle des touches gauche ou droite a été pressée en dernière, donc pas forcément au dernier step. En effet, comme je te l'ai expliqué plus haut, keyboard_check_pressed() ne s'active qu'au déclenchement de la touche. CAD que si tu reste appuyé, ça c'est keyboard_check(). Ainsi, quand droite est égale à -1, la dernière touche des deux que tu as frappée était la gauche, on peut donc raisonnablement penser que si tu t'es bien servi de cet subtilité, ton perso est en train de regarder vers la gauche. Mais ça c'est secondaire, retient que droite te donne la dernière des deux touches sur laquelle tu as tapée.
kepler a écrit:
hvitesse=0 --> je suppose que c'est lié à la vitesse horizontal : vitesse=5 et -vitesse=-5 ?
Les variables prédéfinies de game maker contrôlent des paramètres : x l'abscisse de ton objet, hspeed la vitesse horizontale, image_xscale l'étirement horizontal du sprite etc., CAD que si tu changes, par exemple x, immédiatement la position de ton objet change. Comme je préfère changer la position du perso en dernier, après avoir bien vérifier qu'il n'y a pas de problèmes de collision et autres, je modifie hspeed à la fin du code, et je crée une variable hvitesse qui va me servir à faire les calculs, sans toutefois modifier le vrai paramètre. Ce n'est donc qu'après tous les calculs que hspeed prendra la valeur hvitesse. Ceci dit, dans le code que tu as, ça n'a pas grand intérêt puisque nous ne gérons pas les collisions. et oui, si vitesse est à 5, -vitesse = -5 gnii
kepler a écrit:
mais j'ai besoin d'être éclairé else hvitesse=0;
est que ça a voir avec un stop ou un truc comme ça ?
Ben vu qu'à la fin du code hspeed prendra la valeur de hvitesse, si hvitesse est à 0 à la fin du code, hspeed sera à 0 et donc l'objet s'arrêtera (horizontalement). Lis les tutos que je t'ai fourni. clinoeuil
[edit] Par contre, lorsque tu écris un truc, fais un nouveau post pour qu'on remarque qu'il y a du nouveau.
Revenir en haut Aller en bas
kepler
Débutant
kepler


Messages : 13

Engine Empty
MessageSujet: Re: Engine   Engine EmptyLun 7 Mai 2012 - 9:53

merci, ça m'aide beaucoup ces éclaircissements clinoeuil

par contre, j'ai essayé ton code avec mes tiles et sprites: ça fonctionne pas...
Revenir en haut Aller en bas
Johny Wessmuller
Utilisateur confirmé: Rang *



Messages : 233

Engine Empty
MessageSujet: Re: Engine   Engine EmptyLun 7 Mai 2012 - 14:25

J'ai pas GM là, je ne peux pas tester mon code... Désolé...
Revenir en haut Aller en bas
Johny Wessmuller
Utilisateur confirmé: Rang *



Messages : 233

Engine Empty
MessageSujet: Re: Engine   Engine EmptyLun 7 Mai 2012 - 17:50

Bon toujours pas testé, mais pdt que je mangeais j'ai eu un flash qui m'a fait revenir sur l'ordi : (en gras les modifs)
Dans create

vitesse=5;
droite=1;
hvitesse=0;

Dans step Event - Step

if keyboard_check_pressed(vk_left) droite=-1;
if keyboard_check_pressed(vk_right) droite=1;

if droite==-1
{
if keyboard_check(vk_left) hvitesse=-vitesse;
else if keyboard_check(vk_right) droite=1;
else hvitesse=0;
}
else
{
if keyboard_check_pressed(vk_right) hvitesse=vitesse;
else if keyboard_check(vk_left)
{
droite=-1;
hvitesse=-vitesse;
}
else hvitesse=0;
}

if (hvitesse>0 && sprite_index!=mario_courir_d) sprite_index=mario_courir_d;
else if (hvitesse<0 && sprite_index!=mario_courir_g) sprite_index=mario_courir_g;
else
{
if sprite_index!=mario_arret sprite_index=mario_arret;
image_xscale=droite;
}

hspeed=hvitesse;

Et sinon, c'est quoi en fait les problèmes ? Tu devrais poster ton gmk pour que quelqu'un les résolve.
Revenir en haut Aller en bas
kepler
Débutant
kepler


Messages : 13

Engine Empty
MessageSujet: Re: Engine   Engine EmptyLun 7 Mai 2012 - 19:01

malheureusement, y a pas d’arrangement.

en même temps coder en aveugle se doit pas être facile...

je t'ai envoyé un mp.

je continu dessayer de comprendre de mon coté.
Revenir en haut Aller en bas
Johny Wessmuller
Utilisateur confirmé: Rang *



Messages : 233

Engine Empty
MessageSujet: Re: Engine   Engine EmptyMer 9 Mai 2012 - 10:52

Lu

Au cas où tu n'avais pas vu, je t'ai mp.

Au cas où il y a eu un pb avec la messagerie, je met la partie non privée de l'échange ici :
Citation :
Ok ça marche mais pour l'instant je ne peux pas trop aller sur GM pendant les deux prochaines semaines.
Et
Citation :
Et sinon, n'oublie pas de préciser sur le fil les problèmes que tu rencontres, est-ce au niveau du déplacement, des sprites ? Au cas où est-ce que tu as bien remplacé mario_arret par le nom de ton sprite à l’arrêt, mario_courir_d par ton sprite qui court vers la droite et mario_courir_g par le nom de celui vers la gauche ? (bon dsl de te poser cette question mais sait-on jamais)
Revenir en haut Aller en bas
kepler
Débutant
kepler


Messages : 13

Engine Empty
MessageSujet: Re: Engine   Engine EmptyMer 9 Mai 2012 - 10:59

merci.

je t'ai envoyé un mail le 8 mai en fait, sur ta boite mail, peut etre ne l'a tu pas reçu ?
Revenir en haut Aller en bas
Johny Wessmuller
Utilisateur confirmé: Rang *



Messages : 233

Engine Empty
MessageSujet: Re: Engine   Engine EmptyMer 9 Mai 2012 - 11:03

Aaaah lol dsl je n'avais pas regardé celle là. Ok j'ai regardé, ben, je vais peut-être faire un effort pour l'ouvrir sur GM cette semaine, mais je ne te promet rien.
Revenir en haut Aller en bas
Johny Wessmuller
Utilisateur confirmé: Rang *



Messages : 233

Engine Empty
MessageSujet: Re: Engine   Engine EmptyVen 11 Mai 2012 - 21:50

Re, j'ai testé mon code (en testant ton jeu) et j'ai trouvé l'erreur. Elle était dans une faute de frappe, et même en le relisant sur le site je ne l'avait pas détectée, c'est en regardant le comportement du perso que j'ai compris où elle était. Le perso ne bougeait à droite que durant le bref instant où l'on appuyait sur droite. Je te met l'erreur en gras :

Dans step Event - Step

if keyboard_check_pressed(vk_left) droite=-1;
if keyboard_check_pressed(vk_right) droite=1;

if droite==-1
{
if keyboard_check(vk_left) hvitesse=-vitesse;
else if keyboard_check(vk_right) droite=1;
else hvitesse=0;
}
else
{
if keyboard_check_pressed(vk_right) hvitesse=vitesse;
else if keyboard_check(vk_left)
{
droite=-1;
hvitesse=-vitesse;
}
else hvitesse=0;
}

if (hvitesse>0 && sprite_index!=mario_courir_d) sprite_index=mario_courir_d;
else if (hvitesse<0 && sprite_index!=mario_courir_g) sprite_index=mario_courir_g;
else
{
if sprite_index!=mario_arret sprite_index=mario_arret;
image_xscale=droite;
}

hspeed=hvitesse;

Sinon je t'ai amélioré le code vu que tes sprites à gauche sont les symétriques de tes sprites à droite :

Code:
if keyboard_check_pressed(vk_left) droite=-1;
if keyboard_check_pressed(vk_right) droite=1;

if droite==-1
{
    if keyboard_check(vk_left) hvitesse=-vitesse;
    else if keyboard_check(vk_right) droite=1;
    else hvitesse=0;
}
if droite==1
{
    if keyboard_check(vk_right) hvitesse=vitesse;
    else if keyboard_check(vk_left)droite=-1;
    else hvitesse=0;
}

if (hspeed!=0)
{
    if sprite_index!=Spr_Heros_marche_d sprite_index=Spr_Heros_marche_d;
    image_speed=vitesse_image;
}
else if sprite_index!=Spr_Heros_arret_d sprite_index=Spr_Heros_arret_d;
image_xscale=droite;

hspeed=hvitesse;
Dans create

Code:
vitesse=5;
droite=1;
hvitesse=0;
vitesse_image=0.6;

Donc précise bien la nature du problème pour gagner du temps la prochaine fois. Tes sprites allaient trop vite, du coup j'ai modifié image_speed.
Revenir en haut Aller en bas
kepler
Débutant
kepler


Messages : 13

Engine Empty
MessageSujet: Re: Engine   Engine EmptySam 12 Mai 2012 - 10:23


merci johny d'avoir pris sur ton temps.

ça fonctionne très bien, ce que je vais faire dans dans la journée j'espère , en m'inspirant de ton code, c'est d'ajouter le saut.
Revenir en haut Aller en bas
Johny Wessmuller
Utilisateur confirmé: Rang *



Messages : 233

Engine Empty
MessageSujet: Re: Engine   Engine EmptySam 12 Mai 2012 - 12:49

De rien, mais ajoute d'abord les collisions si tu veux mon avis.

Et finalement fais plutôt ceci
Code:
if keyboard_check_pressed(vk_left) droite=-1;
if keyboard_check_pressed(vk_right) droite=1;

if droite==-1
{
    if keyboard_check(vk_left) hvitesse=-vitesse;
    else if keyboard_check(vk_right) droite=1;
    else hvitesse=0;
}
if droite==1
{
    if keyboard_check(vk_right) hvitesse=vitesse;
    else if keyboard_check(vk_left)
   {
      droite=-1;
      hvitesse=-vitesse;
   }
    else hvitesse=0;
}

if (hspeed!=0)
{
    if sprite_index!=Spr_Heros_marche_d sprite_index=Spr_Heros_marche_d;
    image_index+=vitesse_image;
}
else if sprite_index!=Spr_Heros_arret_d sprite_index=Spr_Heros_arret_d;
image_xscale=droite;

hspeed=hvitesse;
Dans create

Code:
vitesse=5;
droite=1;
hvitesse=0;
vitesse_image=0.1;

Quelqu'un sait pourquoi si je fais image_index+=vitesse_image ça n'a pas le même effet que si je fais image_speed=vitesse_image ? (l'animation est plus rapide) ?
Revenir en haut Aller en bas
D-z
Utilisateur confirmé: Rang *****
D-z


Messages : 1611
Localisation : Montpellier

Engine Empty
MessageSujet: Re: Engine   Engine EmptySam 12 Mai 2012 - 18:47

Ce n'est pas censé faire de différence, est-tu certain que image_speed = 0 quand tu essayes ?
Revenir en haut Aller en bas
Johny Wessmuller
Utilisateur confirmé: Rang *



Messages : 233

Engine Empty
MessageSujet: Re: Engine   Engine EmptySam 12 Mai 2012 - 19:01

Ah oui, pas bête, non pas certain en effet. Bah dans ce cas là, kepler, fais ceci :

Code:
if keyboard_check_pressed(vk_left) droite=-1;
if keyboard_check_pressed(vk_right) droite=1;

if droite==-1
{
    if keyboard_check(vk_left) hvitesse=-vitesse;
    else if keyboard_check(vk_right) droite=1;
    else hvitesse=0;
}
if droite==1
{
    if keyboard_check(vk_right) hvitesse=vitesse;
    else if keyboard_check(vk_left)
   {
      droite=-1;
      hvitesse=-vitesse;
   }
    else hvitesse=0;
}

if (hspeed!=0)
{
    if sprite_index!=Spr_Heros_marche_d sprite_index=Spr_Heros_marche_d;
    image_speed=vitesse_image;
}
else if sprite_index!=Spr_Heros_arret_d sprite_index=Spr_Heros_arret_d;
image_xscale=droite;

hspeed=hvitesse;
Dans create

Code:
vitesse=5;
droite=1;
hvitesse=0;
vitesse_image=0.6;
Et sinon histoire de me rattraper, ce que je te conseille dans les tâches à faire c'est : déplacements horizontaux puis collisions puis gravité puis saut. Enfin gravité et saut presque en même temps parce que c'est plus facile de tester la gravité si ton bonhomme saute.
Revenir en haut Aller en bas
kepler
Débutant
kepler


Messages : 13

Engine Empty
MessageSujet: Re: Engine   Engine EmptySam 12 Mai 2012 - 21:02

bon pour l'instant, très prudent, j'ai rajouté la gravité.

Code:
if place_free(x,y+1){
    gravity=0.5;
} else {
    gravity=0;

if keyboard_check_pressed(vk_left) droite=-1;
if keyboard_check_pressed(vk_right) droite=1;

if droite==-1
{
    if keyboard_check(vk_left) hvitesse=-vitesse;
    else if keyboard_check(vk_right) droite=1;
    else hvitesse=0;
}
if droite==1
{
    if keyboard_check(vk_right) hvitesse=vitesse;
    else if keyboard_check(vk_left)
  {
      droite=-1;
      hvitesse=-vitesse;
  }
    else hvitesse=0;
}

if (hspeed!=0)
{
    if sprite_index!=Spr_Heros_marche_d sprite_index=Spr_Heros_marche_d;
    image_speed=vitesse_image;
}
else if sprite_index!=Spr_Heros_arret_d sprite_index=Spr_Heros_arret_d;
image_xscale=droite;

hspeed=hvitesse;



ensuite j'ai "add event" et je créer une colision avec "obj_sol"

Code:
if vspeed>0 and !place_free(x,y+vspeed){
    move_contact(270);
}
vspeed=0;

c'est du code récupéré sur un tuto pour être honnête, j'essaye de comprendre la logique de game maker.

là où sa va se corser pour moi c'est que tu crée les évènements de déplacement direct dans le script tu passe pas par "add event"...
Revenir en haut Aller en bas
Contenu sponsorisé





Engine Empty
MessageSujet: Re: Engine   Engine Empty

Revenir en haut Aller en bas
 
Engine
Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» 3D RTS ENGINE
» Red Hammer Engine
» Mez Engine 1 (BETA)
» GMSource Engine
» Puzzle Engine

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: