Adapter room à l'écran. 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 à ne pas rater :
AliExpress : Nouveaux codes promo (8€, 20€, 30€, 50€…)
Voir le deal

 

 Adapter room à l'écran.

Aller en bas 
2 participants
AuteurMessage
Lemente
Petit bavard
Lemente


Messages : 58

Adapter room à l'écran. Empty
MessageSujet: Adapter room à l'écran.   Adapter room à l'écran. EmptyVen 11 Avr 2014 - 12:53

J'ai essayé d'adapter une room à un écran, j'ai trouvé plusieurs tuto/explications, mais je n'y arrive pas.

Mon projet est assez simple:
faire en sorte que des pixels noir apparaissent petit à petit, jusqu'à recouvrir tout l'écran.

Pour le moment, j'ai trois objets et une room:

oRoom (situé dans la room: room0)

>Create event
Code:
global.myroom = room_add();
room_set_width(global.myroom, display_get_width());
room_set_height(global.myroom, display_get_height());
room_instance_add(global.myroom, 0, 0, object2);
room_set_background_colour(global.myroom, c_white, true);

rm = room_first
_w = display_get_width()
_h = display_get_height()
while room_exists(rm)
{
room_set_view(rm,0,0,0,0,_w,_h, 0,0,_w,_h,_w, _h, 0, -1,0)
rm = room_next(rm)
//rm = global.myroom
}
room_goto(global.myroom);

object2>Step Event
Code:
instance_create(random(display_get_gui_width()),random(display_get_gui_height()),oPixel)

oPixel>Create Event
Code:
while (!place_free(x, y))
   {
   x = random(room_width);
   y = random(room_height);
   }

En théorie l'objet oRoom crée une autre room aux dimensions de l'écran de l'utilisateur, avec à l'intérieur l'objet object2, et nous envoi dans cette room.
Une fois dans cette room, object2 crée une instance de oPixel toute les steps. Une fois crée à une position aléatoire, oPixel vérifie si il est superposé à une autre instance. Dans ce cas, il se tp à un autre endroit aléatoir, et ce jusqu'a trouver une place libre.

Je me dis qu'il y a peut être une façon plus simple de faire tout ça (avoir une room très grande, et ne permettre la création des instances que dans le périmètre de l'écran, mais je n'ai pas non plus réussi.

Après moult heures à expérimenter toutes sortes de choses, à écumer l'internet, et à larciner des fragments de codes, je viens quémander votre aide !

Merci bien!

Edit: je précise que je ne m'y connais que très peu en GML
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

Adapter room à l'écran. Empty
MessageSujet: Re: Adapter room à l'écran.   Adapter room à l'écran. EmptyVen 11 Avr 2014 - 13:02

Oh la !  Yum! 
Effectivement, difficile de faire moins optimisé ^^'
Mais avec GM ce genre de trucs c'est assez difficile à faire, si tu veux que ce soit bien optimisé :/
Le mieux serait de modifier un sprite à la volée, mais c'est pas possible, donc après un ds_grid peut être... En fait dans tous les cas ca va te poser des problèmes de perfs... Donc la façon la plus simple c'est de pas remplir pixel par pixel mais par des petits carrés (faire des carrés de 4 au lieu de 1 ca va 4^2=16 fois plus vite !)
Ouais et donc ensuite tu fais une liste ou truc du genre que tu vide au fur et à mesure, ca t'évitera de recouvrir deux fois le même endroit ; ou alors tu teste la couleur des pixels pour voir s'ils sont déjà remplis, mais c'est lent et si ton décor est sombre... :/

Donc j'ai pas vraiment de solution miracle, et je pense pas qu'il en existe avec GM... Après si quelqu'un a une idée... ^^
Revenir en haut Aller en bas
Lemente
Petit bavard
Lemente


Messages : 58

Adapter room à l'écran. Empty
MessageSujet: Re: Adapter room à l'écran.   Adapter room à l'écran. EmptyVen 11 Avr 2014 - 13:29

Houla, j'ai pas tout compris Wink

J'ai été au plus simple, étant donné que j'ai mes exam la semaine prochaine, je n'ai pas vraiment le temps d'apprendre des fonctionnalités avancé de gamemaker (j'avais bien pensé "écrire" sur un sprite, dessiner des rectangles/pixels ou encore remplir d'instances et les effacer une à une, mais tout ça m'a semblé compliqué.).
Niveau performance, ça va. C'est un projet d'art plastique, donc ma prof n'ira pas vérifier les fps, ni le code. Et si ça ralentit beaucoup, ça ne me gène pas, c'est un projet sur l'attente  gnii 
En gros, j'éteint aléatoirement les pixels de l'écran un par un, et je regarde ce qui se passe.

Le système qui fait apparaître les pixels fonctionne bien, mais c'est surtout que je n'arrive pas à adapter à la taille de l'écran, et je ne sais pas encore quel taille aura l'écran lors de ma présentation ...
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

Adapter room à l'écran. Empty
MessageSujet: Re: Adapter room à l'écran.   Adapter room à l'écran. EmptyVen 11 Avr 2014 - 13:34

Ah ^^
Bah au pire tu t'en fous, tu mets le jeu en pleins écran, nan ?  Yum! 
Revenir en haut Aller en bas
Lemente
Petit bavard
Lemente


Messages : 58

Adapter room à l'écran. Empty
MessageSujet: Re: Adapter room à l'écran.   Adapter room à l'écran. EmptyVen 11 Avr 2014 - 13:57

Justement, le jeu doit être en plein écran, mais sans étirer les pixels.
Pour info: le sprite de oPixel fait 1*1pixel.
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

Adapter room à l'écran. Empty
MessageSujet: Re: Adapter room à l'écran.   Adapter room à l'écran. EmptyVen 11 Avr 2014 - 14:05

Bah il garde les proportions normalement, nan ?
Revenir en haut Aller en bas
Lemente
Petit bavard
Lemente


Messages : 58

Adapter room à l'écran. Empty
MessageSujet: Re: Adapter room à l'écran.   Adapter room à l'écran. EmptyVen 11 Avr 2014 - 14:27

Euh, ça dépend ce que tu entend par proportions.
Oui, il gardes les proportions par rapport à la fenêtre de jeu, ce qui lui fait changer de taille.
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

Adapter room à l'écran. Empty
MessageSujet: Re: Adapter room à l'écran.   Adapter room à l'écran. EmptyVen 11 Avr 2014 - 14:30

Ouais, et il te met des bordures sur l'espace restant de l'écran, donc c'est bon nan ?
Revenir en haut Aller en bas
Lemente
Petit bavard
Lemente


Messages : 58

Adapter room à l'écran. Empty
MessageSujet: Re: Adapter room à l'écran.   Adapter room à l'écran. EmptyVen 11 Avr 2014 - 14:45

Non, car je veux que ça prenne tout l'écran. Le but est de partir d'un écran complètement blanc, et d'en éteindre les pixels un par un.
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

Adapter room à l'écran. Empty
MessageSujet: Re: Adapter room à l'écran.   Adapter room à l'écran. EmptyVen 11 Avr 2014 - 14:50

Ah bah :
window_set_showborder(false);
window_set_size(w,h);
te permet de redimensionner ta fenêtre et de ne pas en afficher la bordure, par contre je sais plus comment récupérer la taille de l'écran (si on peut)...
gamemaker.info/fr/manual
Revenir en haut Aller en bas
Lemente
Petit bavard
Lemente


Messages : 58

Adapter room à l'écran. Empty
MessageSujet: Re: Adapter room à l'écran.   Adapter room à l'écran. EmptyVen 11 Avr 2014 - 15:05

J'ai utilisé:
display_get_width()

et

display_get_height()

Ce n'est pas ça?

Et je viens de vérifier:
window_set_size redimensionne la fenêtre de jeu ainsi que son contenu, donc ça ne fonctionne pas pour mon projet.
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

Adapter room à l'écran. Empty
MessageSujet: Re: Adapter room à l'écran.   Adapter room à l'écran. EmptyVen 11 Avr 2014 - 15:07

C'est l'intérieur de ta fenêtre, pas l'écran... :/
Revenir en haut Aller en bas
Lemente
Petit bavard
Lemente


Messages : 58

Adapter room à l'écran. Empty
MessageSujet: Re: Adapter room à l'écran.   Adapter room à l'écran. EmptyVen 11 Avr 2014 - 15:20

Il me semble que la taille de la fenêtre du jeu, c'est:

display_get_gui_height();

Là j'utilise:

display_get_height();

Enfin je me trompe peut être ...

J'ai utilisé et adapté le code donné ici: http://gmc.yoyogames.com/index.php?showtopic=489758
(pas au même endroit, mais normalement ça devrait quand même fonctionner).
Revenir en haut Aller en bas
Contenu sponsorisé





Adapter room à l'écran. Empty
MessageSujet: Re: Adapter room à l'écran.   Adapter room à l'écran. Empty

Revenir en haut Aller en bas
 
Adapter room à l'écran.
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Ajouter un objet dans une room sans passer par Room
» [Résolu] La room détecte la collision du joueur sur le bord de la room
» comment teleporter des personnage de room en room
» room sur room
» Room?

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: