AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le deal à ne pas rater :
Funko POP! Jumbo One Piece Kaido Dragon Form : où l’acheter ?
Voir le deal

 

 Jump to position avec 2 solides?

Aller en bas 
5 participants
AuteurMessage
ticman
Bavard



Messages : 91

Jump to position avec 2 solides? Empty
MessageSujet: Jump to position avec 2 solides?   Jump to position avec 2 solides? EmptyMar 19 Juil 2011 - 15:13

Bonyour

Je boss sur un petit jeu avec un concept assez original :

c'est un jeu de plateforme basique, ou on créer son monde, en plaçant des blocs de différentes sorte sur une carte.
quand on appuie sur la barre d'espace, le jeu passe du jour à la nuit, ou de la nuit au jour.
la nuit, les graphismes sont totalement différents du jour, les personnages changent d'apparence, et les blocs changent de forme.

le principe du jeu sera de récupérer certains objets dans le ciel, en plaçant les blocs et en variant entre jour et nuit, pour faire changer la forme des blocs, pour aller plus haut.


Mon problème est tout simple :

il y a un type de bloc, qui est un carré le jour, et un rectangle verticale (2 carrés posés l'un sur l'autre) la nuit.
je voudrais que si on pose 2 carrés l'un sur l'autre le jour, la nuit, il y aura 2 rectangle l'un sur l'autre.


EXPLICATION
Spoiler:


J'ai fais en sorte que dès que l'on passe à la nuit, le bloc se "téléporte" quelque pixels plus haut si il y a un autre bloc en dessous..

petit problème, après plusieurs essais, je me suis rendu compte que quand 2 objets solides sont en collisions, on ne peut pas du tout les bouger... j'ai même essayer : "si il n'y a pas de vide en dessous BLOC, et que BLOC est en collision avec BLOC, détruire BLOC"...

et ça marche pas.. donc je demande votre aide... j'en ai grandement besoin =D
Revenir en haut Aller en bas
DeinDall
Utilisateur confirmé: Rang ****
DeinDall


Messages : 858
Localisation : Quimper

Jump to position avec 2 solides? Empty
MessageSujet: Re: Jump to position avec 2 solides?   Jump to position avec 2 solides? EmptyMar 19 Juil 2011 - 16:16

end step :
Code:
while (not place_free(x,y))
{
    x -= 16 //taille d'un block
}

_________________
.
Revenir en haut Aller en bas
ticman
Bavard



Messages : 91

Jump to position avec 2 solides? Empty
MessageSujet: Re: Jump to position avec 2 solides?   Jump to position avec 2 solides? EmptyMar 19 Juil 2011 - 17:44

Je viens d'essayer et ça marche pas..

j'ai l'impression qu'il y a un bug avec les objets solides, le mouvement est impossible quand 2 objets de la sorte sont collé...

faudrait que je trouves un moyen pour changer la position du bloc avant qu'il en touche un autre...

des idées?

EDIT : Ah J'oubliais... J'utilises Game Maker 8 ^^
Revenir en haut Aller en bas
DeinDall
Utilisateur confirmé: Rang ****
DeinDall


Messages : 858
Localisation : Quimper

Jump to position avec 2 solides? Empty
MessageSujet: Re: Jump to position avec 2 solides?   Jump to position avec 2 solides? EmptyMar 19 Juil 2011 - 20:36

en fait, il faut comprendre un truc : move to contact solid testeras un collision avec un solide et calculeras la direction... donc on ne peut pas calculer la direction de deux objets avec la même position donc la fonction planteras

_________________
.
Revenir en haut Aller en bas
ticman
Bavard



Messages : 91

Jump to position avec 2 solides? Empty
MessageSujet: Re: Jump to position avec 2 solides?   Jump to position avec 2 solides? EmptyMar 19 Juil 2011 - 21:04

Ils ont pas vraiment la même position.

le sprite fait 16 de largeur et 32 de hauteur

L'origine est X : 8 ; Y : 24

donc un objets est au dessus l'autre, et a la moitié de son sprite sur l'autre sprite.
Revenir en haut Aller en bas
Qual
Utilisateur confirmé: Rang ****
Qual


Messages : 1450
Projet Actuel : Tower Defence

Jump to position avec 2 solides? Empty
MessageSujet: Re: Jump to position avec 2 solides?   Jump to position avec 2 solides? EmptyMar 19 Juil 2011 - 22:16

décoche la case "solid" gnii
Revenir en haut Aller en bas
http://www.brainwizz.fr
ticman
Bavard



Messages : 91

Jump to position avec 2 solides? Empty
MessageSujet: Re: Jump to position avec 2 solides?   Jump to position avec 2 solides? EmptyMar 19 Juil 2011 - 23:50

si on décoche, le personnage passe à travers >.>

ça reste un jeu de plateforme ou on peut monter sur les blocs..
Revenir en haut Aller en bas
D-z
Utilisateur confirmé: Rang *****
D-z


Messages : 1611
Localisation : Montpellier

Jump to position avec 2 solides? Empty
MessageSujet: Re: Jump to position avec 2 solides?   Jump to position avec 2 solides? EmptyMer 20 Juil 2011 - 0:10

Je te conseille d'effectivement éviter d'utiliser le moteur physique de GM (objets solides, hspeed, vspeed, gravity, friction...) parce que s'il aide bien au début, après c'est une plaie de résoudre ses comportements obscurs... Code ton propre moteur, c'est pas si dur que ça et après tu fais absolument ce que tu veux, c'est quand même ça la puissance de la prog Wink

_________________
 
Home is not a place, it's a feeling.
Revenir en haut Aller en bas
ticman
Bavard



Messages : 91

Jump to position avec 2 solides? Empty
MessageSujet: Re: Jump to position avec 2 solides?   Jump to position avec 2 solides? EmptyMer 20 Juil 2011 - 0:18

je suis vraiment pas doué en programmation.. je me dé***** juste avec game maker...

c'est quel language qu'on utilise pour créer un moteur physique?
Revenir en haut Aller en bas
Invité
Invité




Jump to position avec 2 solides? Empty
MessageSujet: Re: Jump to position avec 2 solides?   Jump to position avec 2 solides? EmptyMer 20 Juil 2011 - 0:25

la case "solide" sert juste à différencier des objets, elle n'a aucune autre influence...
Revenir en haut Aller en bas
D-z
Utilisateur confirmé: Rang *****
D-z


Messages : 1611
Localisation : Montpellier

Jump to position avec 2 solides? Empty
MessageSujet: Re: Jump to position avec 2 solides?   Jump to position avec 2 solides? EmptyMer 20 Juil 2011 - 0:27

Le GML, le langage propre à Game Maker. onilink_ a posté une belle série de tutos là-dessus, un moteur de plateformes fonctionnel peut être un bon premier projet en GML Smile

@Robotic : l'attribut solid influence le comportement des objets dans le moteur physique built-in, en bloquant les objets solides qui s'interpénètrent par exemple. Sauf que quand tu veux faire des trucs un peu avancés (comme ici des solides polymorphes) ben c'est plus un poids qu'une aide...

_________________
 
Home is not a place, it's a feeling.
Revenir en haut Aller en bas
ticman
Bavard



Messages : 91

Jump to position avec 2 solides? Empty
MessageSujet: Re: Jump to position avec 2 solides?   Jump to position avec 2 solides? EmptyMer 20 Juil 2011 - 0:33

Robitic, tu te trompes complètements O.O

j'ai de quoi être fier, j'ai réussi a faire dire une erreur à un PP \o/

ouvre game maker, créer un objet1, mets le en solide, puis créer en un autre, et fait le aller en direction de cet objet1 en le faisant bien rebondir.
lance le jeu et tu vera que l'objet rebondit bien dès qu'il touche l'objet.
décoche le Solid, et recommence, l'objet va presque passer à travers..

qu'un objet est solide, la collision est obligatoire et mets automatiquement un mask qui fait tout le sprite non?

EDIT : Dz, je vais verrais ça demain, ça va surement bien m'aider à finir mon jeu, merci ^^
Revenir en haut Aller en bas
Qual
Utilisateur confirmé: Rang ****
Qual


Messages : 1450
Projet Actuel : Tower Defence

Jump to position avec 2 solides? Empty
MessageSujet: Re: Jump to position avec 2 solides?   Jump to position avec 2 solides? EmptyMer 20 Juil 2011 - 9:42

Moi je dit ca comme ca, j'ai aucun problème pour faire des collisions entre 2 objets non solide...

Exemple : tu as un objet qui dès qu'il est en contact avec un autre objet, perd 2 pts de vie a chaque step.

Et que l'objet qui perd ses pts de vie, est "solide" , et bah si il est en mouvement pendant qu'il se fait toucher, il ne bougera pas.

il ne faut pas que tu voit solide, tel que ca veut dire, dit toi juste que solide, c'est une variable utilisé par le moteur interne de collision de Game Maker.

J'attend qu'un pro de game maker passe pour me dire si oui ou non il faut utiliser la fonction solide, ou si elle pose plus de problême qu'elle en résoud.


Revenir en haut Aller en bas
http://www.brainwizz.fr
DeinDall
Utilisateur confirmé: Rang ****
DeinDall


Messages : 858
Localisation : Quimper

Jump to position avec 2 solides? Empty
MessageSujet: Re: Jump to position avec 2 solides?   Jump to position avec 2 solides? EmptyMer 20 Juil 2011 - 10:23

bah comme la dit D-z l'attribut solid sert seulement aux fonctions built-in de GM (enfin, tu peut créer une fonction qui teste les solides mais j'en vois pas trop l’intérêt...)

ah et j'y pense, t'a changer les masques (si t'en a mis)?

sinon, j'ai plusieurs moteur de plateformes ici : https://cbna.forumactif.com/t10498-pour-ceux-qui-velent-cree-un-jeu-de-plateforme

_________________
.
Revenir en haut Aller en bas
D-z
Utilisateur confirmé: Rang *****
D-z


Messages : 1611
Localisation : Montpellier

Jump to position avec 2 solides? Empty
MessageSujet: Re: Jump to position avec 2 solides?   Jump to position avec 2 solides? EmptyMer 20 Juil 2011 - 10:54

C'est ce que je dis Qual, quand aucun objet n'est solide on a le contrôle total. Par contre la situation à la con que j'ai vue, c'est quand tu as un objet solide et un non solide (genre le perso et une flamme). Ben si jamais tu utilises l'event de collision du perso avec la flamme, le moteur de GM va considérer que la flamme est solide (puisqu'un objet solide, le perso, peut entrer en collision avec) et bloquer le perso. D'autant que si ta flamme est animée (ce qui est sans doute le cas) y'a des chances pour avoir un chevauchement de masks qui te laissera cramer sans aucune possibilité de bouger d'un pixel.

_________________
 
Home is not a place, it's a feeling.
Revenir en haut Aller en bas
Qual
Utilisateur confirmé: Rang ****
Qual


Messages : 1450
Projet Actuel : Tower Defence

Jump to position avec 2 solides? Empty
MessageSujet: Re: Jump to position avec 2 solides?   Jump to position avec 2 solides? EmptyMer 20 Juil 2011 - 10:59

d'ou l'intérêt de ne mettre solid nul part guns
Revenir en haut Aller en bas
http://www.brainwizz.fr
Termite
Utilisateur confirmé: Rang ****
Termite


Messages : 1005
Localisation : Dans ta charpente !
Projet Actuel : RayEngine 5.0

Jump to position avec 2 solides? Empty
MessageSujet: Re: Jump to position avec 2 solides?   Jump to position avec 2 solides? EmptyMer 20 Juil 2011 - 11:13

Abandonner le solid, abandonner les collisions pixel par pixel, sauf pour ce qui est des slopes.
Le rectangle, c'est la vie. Yum!

_________________
Because these are not the words of God, the same God that burnt the knowing.
Revenir en haut Aller en bas
D-z
Utilisateur confirmé: Rang *****
D-z


Messages : 1611
Localisation : Montpellier

Jump to position avec 2 solides? Empty
MessageSujet: Re: Jump to position avec 2 solides?   Jump to position avec 2 solides? EmptyMer 20 Juil 2011 - 11:43

Nan. Le rectangle biseauté si tu veux pas que ce soit la mort avec lesdites pentes :p

_________________
 
Home is not a place, it's a feeling.
Revenir en haut Aller en bas
Termite
Utilisateur confirmé: Rang ****
Termite


Messages : 1005
Localisation : Dans ta charpente !
Projet Actuel : RayEngine 5.0

Jump to position avec 2 solides? Empty
MessageSujet: Re: Jump to position avec 2 solides?   Jump to position avec 2 solides? EmptyMer 20 Juil 2011 - 11:46

Perso j'me sers même pas des collisions pixel/pixels pour mes pentes..

Et pour le rectangle, bah tes pentes sont pas en solide et t'as plus qu'a faire des loops for pour tester la pos des pixels et rulez awesome

_________________
Because these are not the words of God, the same God that burnt the knowing.
Revenir en haut Aller en bas
ticman
Bavard



Messages : 91

Jump to position avec 2 solides? Empty
MessageSujet: Re: Jump to position avec 2 solides?   Jump to position avec 2 solides? EmptyMer 20 Juil 2011 - 11:51

Merci pour les réponses..

mais j'ai pas très bien compris, si je mets pas en solide, la collision sera différente, et les pieds du personnages seront à l'intérieur du blocs quand il ira dessus <.<

donc faut que je recode tout un moteur physique, juste pour faire en sorte que 2 solides ne s'empilent pas?
Revenir en haut Aller en bas
Termite
Utilisateur confirmé: Rang ****
Termite


Messages : 1005
Localisation : Dans ta charpente !
Projet Actuel : RayEngine 5.0

Jump to position avec 2 solides? Empty
MessageSujet: Re: Jump to position avec 2 solides?   Jump to position avec 2 solides? EmptyMer 20 Juil 2011 - 11:54

Jamais cocher solid.

Pour les collisions, un exemple :

gravity = (!place_metting(x,y+1,objet du sol) * 0.33);

if vspeed>0 && place_metting(x,y+vspeed,objet du sol)
{
gravity=0;
vspeed=0;
move_to_all(270,16);
}

Hop, le bonhomme il atterrie \o/

_________________
Because these are not the words of God, the same God that burnt the knowing.
Revenir en haut Aller en bas
D-z
Utilisateur confirmé: Rang *****
D-z


Messages : 1611
Localisation : Montpellier

Jump to position avec 2 solides? Empty
MessageSujet: Re: Jump to position avec 2 solides?   Jump to position avec 2 solides? EmptyMer 20 Juil 2011 - 12:10

C'est pas vraiment "recoder tout le moteur pour empiler deux blocs", ce serait possible de faire un workaround en conservant le moteur actuel. Seulement c'est comme utiliser deux mètres de chatterton par manque de super glu : c'est pas propre, et plus ton projet va avancer, plus il te faudra de patchs biscornus pour ajouter des éléments sans faire buguer ceux existants.

Alors que là l'idée c'est plutôt de reprendre à zéro tant que tu n'as pas trop avancé, afin d'avoir un moteur clair, stable et modulable dont tu connais et comprends le fonctionnement, vu que ton jeu risque fort d'utiliser des trucs un peu plus avancés que ce que permet le moteur de GM en natif. Un effort maintenant pour pas avoir à gérer un immonde plat de spaghetti plus tard (si quelqu'un se souvient de SMA...)

Alors certes, si tu n'as jamais fait de GML commencer par un moteur de plates-formes peut paraître un peu hardcore, mais la prog ça se fait par paliers : tu as l'impression de ramer sans rien obtenir de tangible, mais dès que tu as le déclic ça te paraît juste carrément évident. Puis en cas de panne on est là (mais seulement si tu as potassé les tutos d'abord awesome )

_________________
 
Home is not a place, it's a feeling.
Revenir en haut Aller en bas
ticman
Bavard



Messages : 91

Jump to position avec 2 solides? Empty
MessageSujet: Re: Jump to position avec 2 solides?   Jump to position avec 2 solides? EmptyMer 20 Juil 2011 - 12:29

J'ai vraiment bien avancé, tout recommencer serait vraiment horrible..

je vais surement faire ça pour un prochain projet, là, je vais décocher tous les solid, et faire en sorte que le personnages reste en haut des sprites d'objet solid..

par contre, comme j'utilise la version light, que le jeu changent du jour à la nuit dans la même room, et que le changement de background se fait que dans la version pro, j'avais mis un gros objets en fond, qui changeait selon le temps (je sais, c'est pas propre >.>)...

avant, le personnage était soumit à la gravité quand il n'y avait pas d'objet SOLID en dessous lui.
mais là, c'est quand il n'y a pas d'objets tout court que la gravité agit sur lui..
comme le background est un objet, le personnage vole..

Revenir en haut Aller en bas
D-z
Utilisateur confirmé: Rang *****
D-z


Messages : 1611
Localisation : Montpellier

Jump to position avec 2 solides? Empty
MessageSujet: Re: Jump to position avec 2 solides?   Jump to position avec 2 solides? EmptyMer 20 Juil 2011 - 13:00

Tu peux aussi utiliser place_meeting(x,y,obj) pour ne détecter qu'un objet Wink

_________________
 
Home is not a place, it's a feeling.
Revenir en haut Aller en bas
ticman
Bavard



Messages : 91

Jump to position avec 2 solides? Empty
MessageSujet: Re: Jump to position avec 2 solides?   Jump to position avec 2 solides? EmptyMer 20 Juil 2011 - 13:57

Hanwi! c'est ça que je cherchait! ^^

c'est possible de faire l'inverse?

"si il y a une collision avec tous les objets, sauf celui là" ?
Revenir en haut Aller en bas
Termite
Utilisateur confirmé: Rang ****
Termite


Messages : 1005
Localisation : Dans ta charpente !
Projet Actuel : RayEngine 5.0

Jump to position avec 2 solides? Empty
MessageSujet: Re: Jump to position avec 2 solides?   Jump to position avec 2 solides? EmptyMer 20 Juil 2011 - 14:03

if (!place_meeting(x,y,obj)

Ou if not place_meeting(x,y,obj) si t'es plus à l'aise avec ce genre de syntaxe

_________________
Because these are not the words of God, the same God that burnt the knowing.
Revenir en haut Aller en bas
Qual
Utilisateur confirmé: Rang ****
Qual


Messages : 1450
Projet Actuel : Tower Defence

Jump to position avec 2 solides? Empty
MessageSujet: Re: Jump to position avec 2 solides?   Jump to position avec 2 solides? EmptyMer 20 Juil 2011 - 14:04

if !place_meeting(x,y,obj)

_________________
Jump to position avec 2 solides? Icone_114
Revenir en haut Aller en bas
http://www.brainwizz.fr
Termite
Utilisateur confirmé: Rang ****
Termite


Messages : 1005
Localisation : Dans ta charpente !
Projet Actuel : RayEngine 5.0

Jump to position avec 2 solides? Empty
MessageSujet: Re: Jump to position avec 2 solides?   Jump to position avec 2 solides? EmptyMer 20 Juil 2011 - 14:04

Grilled Yum!

_________________
Because these are not the words of God, the same God that burnt the knowing.
Revenir en haut Aller en bas
Qual
Utilisateur confirmé: Rang ****
Qual


Messages : 1450
Projet Actuel : Tower Defence

Jump to position avec 2 solides? Empty
MessageSujet: Re: Jump to position avec 2 solides?   Jump to position avec 2 solides? EmptyMer 20 Juil 2011 - 14:05

mort2
Revenir en haut Aller en bas
http://www.brainwizz.fr
Contenu sponsorisé





Jump to position avec 2 solides? Empty
MessageSujet: Re: Jump to position avec 2 solides?   Jump to position avec 2 solides? Empty

Revenir en haut Aller en bas
 
Jump to position avec 2 solides?
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Jump to position et changements de rooms
» "jump to a random position"
» Problème avec position mouse_x mouse_y dans draw
» Collisions solides
» elements du background solides(non traversable)

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: