| pixels en flotants ?? | |
|
+5Vivi Wargamer Sekigo Le Magnifique CoDeAVE ninomojo 9 participants |
Auteur | Message |
---|
ninomojo Nouveau
Messages : 4
| Sujet: pixels en flotants ?? Dim 2 Aoû 2009 - 3:16 | |
| Bonjour, Voilp je viens de me mettre à Game Maker après une démonstration concluante chez un copain. Je cherche à faire un jeu au feel retro, dans une résolution de 160x120. J'ai donc créé une ROOM dont la view est de 160x120, et un "Port on Screen" de 640x480. Ca marche, j'ai bien un jeu très pixelisé 160x120 affiché en réalité étiré sur une résolution de 640x480. Mais j'ai un problème ennuyeux:Mon background défile de la manière attendue, de 1 en 1 pixel (1 pixel en 160x120). Mais le joueur quant à lui, défile de 1 en 1 pixel, en pixels réels de l'écran ! (à 640x480). Comment faire pour forcer l'objet du joueur à n'être affiché que tous les 1 pixel comme le décor, et non pas en fractions de pixels ? (j'espère que je me fais bien comprendre... c'est très simple mais difficile à expliquer en mots...). En bref, j'ai l'impression que lors du redimensionnement d'image qui est fait par Game Maker pour afficher mon jeu 160x120 sur un écran de 640x480, l'objet du joueur est autorisé à être positionné partout en 640x480 alors que le décor lui se comporte bien comme s'il était en 160x120 zoomé... Merci de votre aide ! |
|
| |
CoDeAVE Utilisateur confirmé: Rang **
Messages : 408 Localisation : Québec
| Sujet: Re: pixels en flotants ?? Dim 2 Aoû 2009 - 4:04 | |
| Étrange comme problème... ta room est de quelle dimension? |
|
| |
Sekigo Le Magnifique Utilisateur confirmé: Rang *****
Messages : 1720
| Sujet: Re: pixels en flotants ?? Dim 2 Aoû 2009 - 11:47 | |
| Je pense, comme tu l'as dis, que Game Maker gere le deplacement d'une instance par rapport a la room, non par rapport a la view. Donc, pour resoudre ce probleme, il faudrait que tu appliques un produit en croix.
Au lieu de x+=1, met x+=160/640. Maintenant, reste a savoir comment seront gerer les nombres a virgule par la variable x relative a la position. Je ne peux pas faire de test pour le moment, mais j'ai peur que soit game maker arrondisse les valeurs ou pire, occulte totalement ces nombres, attendant un nombre rond, soit ton objet paraitra se deplacer pas a pas, et non de maniere fluide. |
|
| |
ninomojo Nouveau
Messages : 4
| Sujet: Re: pixels en flotants ?? Dim 2 Aoû 2009 - 11:58 | |
| - CoDeAVE a écrit:
- Étrange comme problème... ta room est de quelle dimension?
Room: 960x120 Merci. |
|
| |
Wargamer *Excellent utilisateur*
Messages : 6938 Projet Actuel : Bataille de cake au fruits
| Sujet: Re: pixels en flotants ?? Dim 2 Aoû 2009 - 14:34 | |
| non sekio il arrondi la position x pour l'affichage mais garde la valeur en tampon pour futur modification genre hspeed=2.5 ca donne 2,5-5-7,5-10 gm va afficher 2/3-5-7/8-10 je sias pas si il arondit ou floor/ceil par contre _________________ Règle #1 du CBNA, ne pas chercher à faire dans la subtilité; personne comprend |
|
| |
Vivi Utilisateur confirmé: Rang **
Messages : 321 Localisation : dans ma chambre Projet Actuel : ogc²
| Sujet: Re: pixels en flotants ?? Dim 2 Aoû 2009 - 14:36 | |
| bin tu peux toujours le faire bouger de 4 pixels à la fois... Je vois pas très bien le problème. |
|
| |
ninomojo Nouveau
Messages : 4
| Sujet: Re: pixels en flotants ?? Dim 2 Aoû 2009 - 14:59 | |
| Je vais essayer d'expliquer autrement.
Ma ROOM est à 60 Hz.
- je colle à mon background une vitesse de 0.1 par "step" - je colle à mon joueur une vitesse de 0.1 par "step" aussi
Le background, et le joueur, vont se déplacer de 0.1 pixel 60 fois par seconde, ce qui équivaut à 6 pixels par seconde. Ils se déplacent à la même vitesse. Jusqu'ici tout va bien.
Mais les deux ne s'affichent pas de la même manière.
Le background: se déplace de 1 en 1 (donc, il est affiché un pixel plus loin seulement lorsque sa position X a été incrémentée de 1). Exemple: si X vaut 40, le bg est affiché à la position 40, si X vaut 40,89, il est toujours affiché à 40, mais si X vaut enfin 41, le bg est enfin affiché à la position 41.
Le joueur: Il se déplace en fractions de pixels ! Si ça position en X vaut 40,5, il est affiché ENTRE le pixel 40 et le pixel 41, tenant compte de la résolution réelle de l'écran et non du fait que je suis dans une vie de 160x120 zoomée. Bref, sa position est interpolée, alors que celle du décor de l'est pas !
Je voudrais que le joueur se comporte comme le background, qu'il ne prenne en compte que des position entière, mais j'ai besoin de le déplacer moins vite que 1 pixel par "step". D'où mon utilisation de valeurs inférieures à 1 pour sa vitesse.
Il m'apparait que Game Maker, en interne dans son moteur graphique, ne gère pas les BG de la même façon que les objets dynamiques comme les sprites, et c'est un peu le souk donc. De plus, un effet très indésirable de ça, c'est que lors que la caméra suit le joueur pour faire un scrolling, elle "saute" pour le ratrapper et donc pas de scrolling fluide. Il faudrait que je poste un exemple...
Merci de votre aide en tout cas ! |
|
| |
Devil37 Utilisateur confirmé: Rang *****
Messages : 1815
| Sujet: Re: pixels en flotants ?? Dim 2 Aoû 2009 - 15:52 | |
| Si j'ai tout saisi, tu veux que l'objet personnage saute de gros pixels en gros pixels. 1 pixel en 160x120 représente 4 pixels en 640x480. Je ne sais pas si cela marche. Tu stocke les valeurs de x et y dans des variables factices x1 et y1 par exemple. C'est très important. Par exemple pour aller en haut: - Code:
-
y1-=0.1/4; y=round(y1);
à gauche: - Code:
-
x1+=0.1/4; x=round(x1);
etc. Et pense à mettre dans l'event create (par exemple): - Code:
-
x1=x y1=y
Essaye, je ne sais pas si cela fonctionne En espérant répondre à ton problème =) |
|
| |
ninomojo Nouveau
Messages : 4
| Sujet: Re: pixels en flotants ?? Dim 2 Aoû 2009 - 15:57 | |
| - Devil37 a écrit:
- Si j'ai tout saisi, tu veux que l'objet personnage saute de gros pixels en gros pixels.
1 pixel en 160x120 représente 4 pixels en 640x480.
Je ne sais pas si cela marche. Tu stocke les valeurs de x et y dans des variables factices x1 et y1 par exemple. C'est très important.
Par exemple pour aller en haut: - Code:
-
y1-=0.1/4; y=round(y1);
à gauche: - Code:
-
x1+=0.1/4; x=round(x1);
etc.
Et pense à mettre dans l'event create (par exemple): - Code:
-
x1=x y1=y
Essaye, je ne sais pas si cela fonctionne
En espérant répondre à ton problème =) Voilà, tu as tout compris ! Merci Je vais essayer ta solution. Par ailleurs, pour essayer de régler ça en code/script: est-ce qu'il y a un moyen de convertir un flotant vers un entier dans Game Maker ? Mais bon j'aurais bien voulu que la solution à mon problème soit simplement une petit option à cocher ou décocher que je n'avais pas vu |
|
| |
Devil37 Utilisateur confirmé: Rang *****
Messages : 1815
| Sujet: Re: pixels en flotants ?? Dim 2 Aoû 2009 - 16:28 | |
| Flottant vers entier j'ai oublié de le préciser, j'en ai utilisé un: round(). Direction Aide de GM: - Document Saint a écrit:
- round(x) Retourne x arrondi à l'entier le plus proche.
floor(x) Retourne la valeur plancher de x, qui correspond à x arrondi à l'entier juste inférieur. ceil(x) Retourne la valeur plafond de x, qui correspond à x arrondi à l'entier juste supérieur.
|
|
| |
GTK *Excellent utilisateur*
Messages : 3959 Localisation : Belgique Projet Actuel :
| Sujet: Re: pixels en flotants ?? Lun 3 Aoû 2009 - 18:11 | |
| Et arrondir x et y dans le End Step, ça fait pas le même effet ? |
|
| |
glcraft Utilisateur confirmé: Rang *****
Messages : 1698 Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P Projet Actuel : Jeu de survie avancé
||--------
| Sujet: Re: pixels en flotants ?? Mer 5 Aoû 2009 - 23:35 | |
| moi je te propose d'afficher ton background a partir d'un objet, c'est tout. |
|
| |
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: pixels en flotants ?? Mer 5 Aoû 2009 - 23:53 | |
| non arrondir les coodonées, c'est le mieux. Le must serait même surement de laisser les coordonées tranquiles, mais d'afficher à des coordonées arrondies tes objets (avec l'event draw).
Bonne chance pour ce jeu rétro ! je travaille aussi sur un jeu rétro, alors le problème d'affichage, je connait ^^ _________________ Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^ l'antiqueBienvenue au 2630eme utilisateur : Mike Kennedy ! |
|
| |
Contenu sponsorisé
| Sujet: Re: pixels en flotants ?? | |
| |
|
| |
| pixels en flotants ?? | |
|