Sujet n°10086
Posté par Captain Relevant le 31 Juil - 22:24 (2011)
Titre : Lumières la nuit
Bonsoir tout le monde:

Je ne sais pas si un topic existe déjà à ce propos mais j'aimerais savoir : comment faire en sorte qu'on ait des lumières lorsqu'il fait nuit (par exemple les fenêtres allumées ou tout simplement des lampes dans les rues) ? J'ai pensé à créer une image mais je ne sais pas comment la fixer pour ne pas qu'elle se déplace avec le héros et aussi car je ne vois pas comment définir les coordonnées. En ce qui concerne à faire ça en évents, c'est plausible mais le ton des lumières change avec celui de la map... Merci de votre aide en tout cas !

Posté par Nuri Yuri le 31 Juil - 23:02 (2011)
Crée une condition $game_variables[37] == "nuit" qui active un interrupteur, puis tu met tes évents de fenêtre et lumière qui s'affiche si cet interrupteur est activé.

Posté par Captain Relevant le 31 Juil - 23:49 (2011)
Je sais, mais en l'occurence,
Citation:
le ton des lumières change avec celui de la map.

Posté par Nuri Yuri le 1 Aoû - 11:59 (2011)
Tu peux utiliser la variable de l'heure... il faut juste savoir que la dernière page est prioritaire donc tu met la plus grande valeur à la dernière page, après t'as plus qu'a copier/coller.
Tu choisi une apparence pour ton évent qui change en fonction de l'heure.

Posté par Captain Relevant le 1 Aoû - 12:59 (2011)
Non mais en fait je sais régler en fonction de l'heure, le problème n'est pas là. Mais je ne sais pas si je dois utiliser une image pour les lampes/fenêtres (et c'est là que je demande de l'aide car je ne sais pas comment afficher ça à cause des coordonnées, car l'image ne reste pas fixe et je vais pas faire une image de 10000 pixels sur je sais pas combien) ou des évents (avec ce genre de solution, c'est faisable mais le ton de ceux-ci changent avec celui de la map alors qu'ils ne doivent pas. Pour faire simple, en l’occurrence, ma question serait : peut-on changer le ton d'un évent, si oui, de quelle façon ?). Voilà et merci de ton aide Yuri Imbécile heureux

Posté par Nuri Yuri le 1 Aoû - 13:09 (2011)
-_-........
C'est évident ... Utilise des évents, ça pèse bien moins lourd qu'une image de 10000px.

Posté par Captain Relevant le 1 Aoû - 14:30 (2011)
Bon attends, je crois que tu n'as pas compris ce que je voulais dire. Pourtant c'est simple : j'utilise des évents, ok, mais le problème c'est que le ton de ces évents (fenêtres/lampes) changent avec celui de la map. Alors comment peut-on faire en sorte qu'il ne change pas ? ou le changer de façon à ce qu'il revienne à zéro à chaque fois que celui de la MAP change ?
Je peux pas être plus clair...

Citation:
ça pèse bien moins lourd qu'une image de 10000px.


Mais justement! C'est ce que je dis! J'ai une image de la fenêtre, mais elle se déplace avec le héros car je ne sais pas comment la fixer selon la map et pas selon l'écran de jeu. Bref, je vais faire ça par évent mais le problème reste celui que j'ai cité en première partie de ce message.
Merci.

Posté par Nuri Yuri le 1 Aoû - 14:47 (2011)
Je vois... C'est un truc qui faut faire à tâtons... Je peux pas t'aider.
Pour l'image, il me semble qu'il y a des fonctions pour récupérer les positions réels sur l'écran du héros et la positions de l'héros sur la map, donc t'as plus qu'a faire des maths.

Posté par Sphinx le 1 Aoû - 15:43 (2011)
Pour récupérer les coordonnées X & Y d'un évent (ou du joueur) normalement tu peux faire comme ca :

Pour l'évent n°@event_id de la map courante (valable uniquement sur PSP0.7 & PSP4G+) :
Code:
($game_map.map.events[@event_id].x - 1) * 32 # Coordonnée X du coin supérieur gauche de l'évent n°@event_id de la map courante, en pixel
($game_map.map.events[@event_id].y - 1) * 32 # Coordonnée Y du coin supérieur gauche de l'évent n°@event_id de la map courante, en pixel

et pour le joueur (toujours valable uniquement sur PSP0.7 & PSP4G+) :
Code:
($game_player.x - 1) * 32 # Coordonnée X du coin supérieur gauche de l'évent n°@event_id de la map courante, en pixel
($game_player.y - 1) * 32 # Coordonnée Y du coin supérieur gauche de l'évent n°@event_id de la map courante, en pixel


Clin d'œil foireux Théoriquement tout ca marche sur PSP0.7 & sur PSP4G+

Posté par Captain Relevant le 1 Aoû - 21:59 (2011)
Désolé, j'ai PSP DS et ce n'est pas réellement ce que je cherche ^^' je vais mettre résolu car je crois que c'est impossible de changer le ton d'un évènement... Merci quand même.

Posté par Nuri Yuri le 1 Aoû - 22:13 (2011)
L'ox et l'oy du tilemap peuvent t'aider... Mais... Tu devra créer un Sprite car gestion des images ne t'aidera pas. (je pense)

Posté par Sphinx le 1 Aoû - 22:34 (2011)
Clin d'œil foireux Bah disons que pour PSPDS, le calcul est presque le même (juste *16 au lieu de *32), sauf que l'interface faisant, la map ne doit pas être aux coordonnées 0,0 de la fenêtre de jeu ^^" Il faut donc ajouter ces valeurs (que je ne connais pas) à l'opération :!


Faut savoir que les $game_map.map.events[@event_id].x, $game_map.map.events[@event_id].y, $game_player.x et $game_player.y retournent les coordonnées (en cases, pas en pixels, avec comme coordonnées 0, 0 pour la case la plus en haut à gauche) de chacun des éléments. L'opération que j'ai énoncé est juste là pour convertir les cases en pixels.