| Adapter room à l'écran. | |
|
|
Auteur | Message |
---|
Lemente Petit bavard
Messages : 58
| Sujet: Adapter room à l'écran. Ven 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 |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: Adapter room à l'écran. Ven 11 Avr 2014 - 13:02 | |
| Oh la ! 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... ^^ |
|
| |
Lemente Petit bavard
Messages : 58
| Sujet: Re: Adapter room à l'écran. Ven 11 Avr 2014 - 13:29 | |
| Houla, j'ai pas tout compris 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 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 ... |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: Adapter room à l'écran. Ven 11 Avr 2014 - 13:34 | |
| Ah ^^ Bah au pire tu t'en fous, tu mets le jeu en pleins écran, nan ? |
|
| |
Lemente Petit bavard
Messages : 58
| Sujet: Re: Adapter room à l'écran. Ven 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. |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: Adapter room à l'écran. Ven 11 Avr 2014 - 14:05 | |
| Bah il garde les proportions normalement, nan ? |
|
| |
Lemente Petit bavard
Messages : 58
| Sujet: Re: Adapter room à l'écran. Ven 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. |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: Adapter room à l'écran. Ven 11 Avr 2014 - 14:30 | |
| Ouais, et il te met des bordures sur l'espace restant de l'écran, donc c'est bon nan ? |
|
| |
Lemente Petit bavard
Messages : 58
| Sujet: Re: Adapter room à l'écran. Ven 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. |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: Adapter room à l'écran. Ven 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 |
|
| |
Lemente Petit bavard
Messages : 58
| Sujet: Re: Adapter room à l'écran. Ven 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. |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: Adapter room à l'écran. Ven 11 Avr 2014 - 15:07 | |
| C'est l'intérieur de ta fenêtre, pas l'écran... :/ |
|
| |
Lemente Petit bavard
Messages : 58
| Sujet: Re: Adapter room à l'écran. Ven 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). |
|
| |
Contenu sponsorisé
| Sujet: Re: Adapter room à l'écran. | |
| |
|
| |
| Adapter room à l'écran. | |
|