#1
Voilà quelques nouvelles ressources...
Auto-tile:

Sur la base d'un tileset de Benben.
TileSet:

TIleSet réalisé à partir du pack Acasia de Vakan
.
Characters:

Chauve sourie full custom

Lampadaire belle époque sur la base de rtp VX
Voilà quelques nouvelles ressources...
Auto-tile:

Sur la base d'un tileset de Benben.
TileSet:

TIleSet réalisé à partir du pack Acasia de Vakan
.
Characters:

Chauve sourie full custom

Lampadaire belle époque sur la base de rtp VX
Effets Lumineux Mhd
-Auteurs: Kylock, VincentMhd
-Introduction
C'était un peu dans l'air du temps, CloudStrife en a sorti un, il n'y a pas longtemps. Voilà ma petite version.
Enfin, un effet lumineux sans pixels zoomés 6 fois... (pour kamikaz93
)
Il n'est pas totalement fini, mais en fait, ce qui n'est pas achevé, il est possible de le faire en event commun, donc ce n'est pas vraiment important.
Liste des possibilités:
Ton, dimensions, et positions paramétrables.
Un event peut déclarer tout les effets de la map, les effets peuvent être fixés à la map, aux events ou au player.
Possibilités d'allumer et d'éteindre les lumières individuellement, et en masses, progressivement (en 60 frames).
Possibilités aussi de les redimensionner individuellement, progressivement.
Possibilité d'obscurcir des maps, et d'utiliser les lumières pour éclairer par compensation les zones sombres.
Et pour les courageux ayant des quelques connaissances en script, possibilité d'ajouter assez facilement, d'autres formes d'effets lumineux.[/justify]
-Installation
Ce script n'échappe pas à la régle du "copiez en dessous de material".
Il a besoin de l'image "le.png" dans votre dossier Pictures.
-Utilisation
Franchement, je n'ai pas le courage de réécrire ce qu'il y a dans le script et dans la démo.
Lisez le script si dessous pour plus de détails.
J'ai qu'une chose à dire, respectez bien la synthaxe.
-script
| Spoiler: |
Auto-téléportation
-Introduction
Ce script permet de lier des maps entre elles, afin que le personnage soit téléporté automatiquement, s'il franchit le bord de cette dernière. Pour exemple, c'est comme les vieux Zelda. J'ai utilisé une version plus chaotique, hors concours >>Last Hope. c'est une grosse économie d'évents de téléportation.
-Installation
Ce script n'échappe pas à la régle du "copiez en dessous de material".
Il n'a pas de nécéssité particulière.
Peut-être des problèmes avec les scripts modifiant la passabilité.
-Utilisation
Créez vos sets dans le script Mhd_TP.
Les sets sont des hashes contenant un tableau 2D pour contenir des id de maps. On peut les comparer à des maps de maps.
C'est relativement simple, il y a une petite notice à l'intérieur.
Pour activer le script, il y a un interrupteur, le 1 par défaut. Vous pouvez modifier les coordonnées du héros dans le set à tout moment:
$game_tp.set_coord(x,y, set)
x et y sont les coordonnées de la map dans le tableau
Il y a une méthode pour se téléporter sur un emplacement précis d'un set:
$game_tp.teleportation(set, m_x, m_y, y, x, direction, [active = true])
m_x et m_y sont les coordonnées de la map dans le tableau,
y, x celle du perso sur la map.
Vous pouvez vous téléporter d'un set à un autre set:
$game_tp.tp_set(set)
Vous pouvez aussi simplement désactiver le script pour revenir à une méthode plus classique. La téléportation normale fonctionne aussi quand le script est actif.
-script
| Spoiler: |
-Démo
>>Démo
_________________
Tournoi de Mapping:
Quart de finale
J'avous, je me la pète un peu en disant quart de final, car il ne s'agit que de la première épreuve...
Voilà ce qui m'était demandé: il me fallait mapper un temple au sommêt d'une montagne, et faire attention à mon ambiance. Lien vers le sujet officiel
Voilà ce que j'ai rendu, assemblage de screen in game (il y a des déformations du au fog):

J'ai gagné ma manche contre Elézia qui s'est bien défendu avec le sujet que j'avais filé:
La Maison de Barbie!
J'attend avec impatience la prochaine manche...
Mhd_Splatch.v1
-Introduction
Voici ma version de ce script assez classique, il permet de faire des splatches avant un écran titre. Et aussi d'animer ce dernier, lui-même étant considéré comme un splatch.
Il requiert des notions de scripts pour le customiser, rien de bien méchant, cependant novice s'abstenir. Le plus dur est de ne pas s'emmêler dans les tableaux, de tableaux, de tableaux... vous voyez le trip?
Pour le momment il ne contient que ce dont j'avais besoin pour Last Hope, mais je vais devoir certainement le compléter. (Il n'y pas de translations avec les images pour le moment... assez bidon)
Je l'ai divisé en plusieurs scripts, c'est plus pratique pour moi ^^. Et pour ceux qui veulent le modifier et le compléter...
-Description
Cette scène écrase l'écran titre normal. L'écran titre est le dernier splatch du tableau. la fenêtre de commande s'ouvrira après le début du splatch et un temps déterminé par le maker ou quand le joueur zappera.
Les splatches sont à compléter dans un grand tableau, qui peut tourner en boucle si le maker le configure.
Les splatches sont zappables ou non si le maker le stipule dans le tableau. L'écran titre n'est pas zappable. ça permet de ne pas attendre un tour complet de la boucle à chaque démarrage, mais de pouvoir obliger le joueur de voir un minimum de splatch.
-Installation
Ce script n'échappe pas à la régle du "copiez en dessous de material".
Niveau compatibilité, alors là c'est un peu le mystère.
-Utilisation
En soi, il n'y a pas de consignes particulières d'utilisation.
"Entrer" et "Inser" permettent de zapper les splatchs,
"Inser" permet de faire apparaître la fenêtre de contrôle sur l'écran titre de manière anticipée.
(pas "Entrer" pour éviter les confusions avec les commandes de la fenêtre de contrôle)
-Configuration:
C'est là que ça va être plus compliqué. S'il y a des erreurs ça va être là.
Théoriquement, j'ai fait un effort de commentaires de script. ^^
Remplir le tableau de splatch de surcroît avec les exemples devrait ne pas trop poser de problème (je répête novice s'abstenir). Repérez bien le type d'images que vous voulez placer, un prototype du remplissage du tableau se trouve en-tête de la classe correspondante dans la partie Elements.
Pour ajouter des nouveaux types d'Images:
Toutes les images sont filles de la classe Image, afin qu'elles obeïssent aux consignes d'opacités.
Les differents types d'images sont reconnus par la méthode "create_contents" de la classe Splatch, il vous faudra lui rajouter un mot-clé supplémentaire, dans un "when", correspondant à la case "Type" des images dans le tableau de splatch sinon par défaut elles seront reconnues comme des images simples.
-Les scripts:
Je vous conseille de conserver l'ordre.
Mhd_Math
Comme dit dedans, c'est juste une commodité, des fonctions réccurantes dans differents scripts personnels
| Spoiler: | |||
|
| Spoiler: | |||
|
| Spoiler: | |||
|
| Spoiler: | |||
|
CONCOURS EXPRESS:
Glace & Neige
Ce concours est organisé par Jebbou, je pense que c'est un prétexte pour réaliser des ressources froids, car on en manque cruellement. Et c'est exactement comme ça que je fonctionne, en plus ayant raté Last Hope je compte me rattrapper.
Bon j'ai déjà rendu, soit une semaine à l'avance. Je me permet de publier en attendant les résultats.
Je n'ai pas fait dans l'exceptionnel, j'ai passé quand même deux soirées à faire des ressources, donc j'ai eu ma dose!
Vue de la map dans l'éditeur

Il y a plusieurs parties. J'ai choisi de faire une 40x60, la plus grande taille autorisée, donc je crains peut-être le vide, surtout au niveau intéractions. Je n'ai pas beaucoup mis d'events d'interactions, il y en a bcp de décoration, notament pour la forêt, que vous ne voyez pas...
Screen In Game
J'ai surtout fait de la créa et de la custom de character_set (Baleine, Pingouin, Feu).
J'ai réussi à glisser "MHD" sur la map.
Voilà les résultats annoncés par Jebbou:
"Le temps est venu d'annoncer le gagnant du concours Neige et Glace!! Après une chaude lutte à finir, voici les résultats des votes:
Première position: Le glacier des baleines par Vincentmhd (10 points)
Deuxième position: Village de noel par Tiroflan (4 points)
Troisième position: Star Wars par Kordarr (3 points)
Quatrième position: Village sous la neige par Randal (1 points)
Vincent s'en est bien tiré avec quelques graphiques custom, sa foret inégale et son impressionnant glacier. Plusieurs des voteurs on apprécié l'ambiance de la map de Tiroflan, ce qui lui a permis de ravir la deuxième place à Kordarr, qui s'est tout de même démarqué avec ses graphiques custom de starwars. Donc félicitation à nos participants pour ce concours de graphisme! Merci à tous pour votre participation, et au jury d'avoir pris le temps de voter! Je vous invite à laisser vos commentaires constructifs à propos des maps.
Cordialement,
Jebbou"
Je suis content d'avoir gagné, cependant je regrette le nombre peu important de participants.
4 participants pour 6 votants...
(je compte bien en fait, 5 votants ont voté pour moi en 1ère place, et comme je n'ai pas voté pour moi, c'est un casi grand chlème)
Ce concours de proposé encore par Miraïno Hikari portait sur le temps. Il fallait réaliser 3 maps d'un même lieu en 3 époques différentes. Ce sujet m'a beaucoup interressé peut-être trop car je n'ai pas réussi à m'arrêter dans mon élan. D'où ma participation hors concours.
J'ai encore beaucoup appris pendant ce concours. Notamment en scriptage de Scene. J'ai réalisé 2 scenes entièrement scriptée par moi-même. La première: l'écran titre avec ces splatchs.
Il existe de nombreux scripts pour cela. C'est un exercice classique. Mais il m'a beaucoup appris sur les sprites et les viewports. On peut zapper certains splatchs et d'autres non (au choix du maker). Ici, l'écran titre (ci-dessus) n'est pas particulièrement beau, mais il est animé. L'aiguille tourne en fesant tac-tac, et les cercles du pendentif tournoient.
Les splatchs:
La deuxième scène concerne un moment clé du concours:: le saut dans le temps. Dans le sujet, il était demandé d'utiliser un pendentif. Mon pendentif est composé de 3 cercles pivotants les un par rapport aux autres. Le sens des rotations détermine la destination.
Le cercle moyen détermine le sens du voyage.
Les deux autres cercles déterminent si on avance d'une période ou de 2.
La grande est pour le sens passé, la petite pour le sens avenir.
Cela signifie qu'il y en a une qui sert à rien selon le sens de la moyenne.
Ca n'est pas très spectaculaire mais ça comporte déjà son petit lot de difficultés.
Il y a un autre script majeur, permettant de mapper les maps...
Je m'explique:
Imaginons que j'ai les map d'id 1, 2, 3 et 4. Ce script à partir d'un tableau tel que: [[1,2],[3,4]] est capable de réaliser un "assemblage" grossomodo comme celui-ci.
|1 , 2|
|3 , 4|
Ce qu'il fait, c'est qu'aux bords d'une carte, le joueur est téléporté sur sa voisine automatiquement. Une même carte peut figurer plusieurs fois, le tableau peut être bouclé ou non. La condition est qu'il est préférable que le map soient de même dimensions.C'est ainsi que j'ai bâti mon désert.
Un tableau de 10x10 maps... dont une grande majorité est la même map, une map vide juste avec du sable...
Faire des petites maps a un impact... les joueurs s'y perdent! et tant mieux pour le desert. La carte, si vous la trouvez, accompagnée de la boussole permet de s'y retrouver, grâce à un curseur qui apparaitra sur la carte à votre position.
Ensuite je me suis bien lâché sur les maps et leurs différentes versions:
Il y a de bons commentaires mais j'aurai du la filer en concours,
ça aurait été plus constructif.
Le projet n'est absolument pas fini, beaucoup de maps sont vides en event et inaccessibles par la voie classique... Un cristal de triche a été ajouté sur la(s) plage(s) pour vous permettre de voyager partout (mais non sans mal).
Mto Soleil
-Introduction
Assez de la pluie, de la neige, et de l'orage!! ^^ voilà du Soleil made in mhd!
J'en avais déjà parlé dans la boite à idée.
-Description
Euh une image pour commencer serait bien ^^...
Bon, le screen n'est pas terrible terrible... c'est parce que les rayons apparaissent et disparaissent tant que la météo est active... Elle est "animée". Bon, ça n'éblouïe pas pour autant.
En réalité, le soleil est un point hors de l'écran, et un ensemble de rayons semblants provenir de ce point. Les rayons apparaissent, puis disparraissent, ponctuellement ça peut être sympathique.
-Installation
Ce script n'échappe pas à la régle du "copiez en dessous de material".
Il n'a pas de nécéssité particulière. Cet effet lumineux n'a pas besoin d'images.
-Utilisation
Il est très simple:
Activation:
dans un appel de script mettre "$sun.play(intensité, temps)" comme pour les vraies météos: l'intensité va de 1 à 10, et le "temps" correspond au temps d'apparition de la météo.
Désactivation: "$sun.stop(temps)"
Alors, compliqué?
Il y a deux autres petites fonctions:
$sun.position(heure, minute) permet de faire le lien avec des scripts ou des events parallèlles de temps.
$sun.change_opacity(opacity, duration =0) permet de faire changer tous les rayons en une opacité commune.
-Configuration:
Le module de configuration est grand pour vous permettre de l'adapter à vos besoins.
Référez-vous aux commentaires, normalement il devrait être assez compréhensible et permet beaucoup de variante.
-Le script:
| Spoiler: | |||
|
Les concours de la "Toune" ont pour principe de se reposer sur une ou des BGM, des musiques. On nous soumet une ou plusieurs musiques et nous devons construire en fonction. Généralement, il s'agit de mapping, mais cela peut s'étendre à d'autres réalisations.
Le sujet de la "Toune#2" était libre, nous avions le pack de musique en lien et la liberté du type de la réalisation. Nous avions du 1 Octobre, au 15 Novembre pour rendre nos projets.
>> Page Officielle du concours
Voilà des images in-game du projet que j'ai rendu:
Il est court, et assez simple. Habituellement, je me complique la vie pour rien, alors j'ai tenté une autre approche. C'est une seule map de 28 par 44, je l'ai réalisé assez rapidement et je n'avais pas bcp de temps à y consacrer.
J'aime bien tester des petites choses dans mes participations de concours, car c'est un moyen sûr d'avoir au moins un testeur et une crittique construite par le biais du juge ou juris (je salut Miraino Hikari au passage).
Il y a deux choses testées ici: mon anti-lag et l'idée d'une forêt non linéaire, pour changer des projets VX habituels.
-Pour l'anti-lag, il n'y a pas grand chose à dire, à part que je peux encore mieux faire...
Vous pouvez aller voir le script correspondant: Anti-lag Mhd
-Pour la forêt, qu'elle soit non-linéaire ne me choque pas mais l'inverse, si elle est alignée cela se remarque. J'ai obtenu ce résultat en exploitant un characterSet que j'avais fait, il y a un moment: Lien vers la page de l'album.
Cela représente beaucoup d'events à seul but décoratif, d'où l'utilisation de l'anti-lag. La passabilité pose aussi des problèmes d'où l'utilisation de mon bon vieux script (Lien). Certains events n'existent parfois uniquement pour gérer le décalage entre le visuel et la passabilité.
Vue de la carte dans l'éditeur:

Il n'y a casiment que des events.
Il y a une astuce pour les "touffes d'arbres" infranchissables. Par endroit comme pour les bords de la carte, j'avais besoin de barrière infranchissable.
- Je me suis créé deux tileSets semblables.
- Par le script de passabilité, j'ai modifié la passabilité de certaines cases en passabilité partielle (que le haut, que le bas...). Sur un des tileSet ces cases sont transparentes, ce tileSet sera le final. Sur le second les passabilités partielles apparaissent.
- L'image cî-dessous vous expliquera tout, j'ai délimité les contours de mes zones non franchissables puis j'ai fait du remplissage avec les arbres.
- Il m'a suffit finalement de ré-échanger de tileSet.

Et voilà, l'astuce!
Il y a eu aussi une amélioration du script de mouvement supplementaire et notamment la commande go_to(x,y) qui ne prennait pas les diagonales et maintenant c'est le cas.
Les poissons sont une application des mouvements aléatoires restreints, ainsi ils restent dans l'eau (idée de Jebbou).
L'oiseau est une application des déplacements complexes, avec go_to, changement de trigger, de priorité (qu'on peut comparée avec l'altitude), et plusieurs wait_between.
Voilà pour cette map!
>> Le lien vers le projet
Nous n'avons été que 3 participants. Voici les résultats:
"Bon voilà mon petit topo de commentaire.
Flavii3n nous a fait une cutscene à mourir de rire. Bien que graphiquement il y avait quelques anomalie, l'aspect générale était bien. Lorsqu'il me l'a envoyé la première fois, j'ai dû le regarder entre 3 et 5 fois... Chaque fois, j'essayais de voir des détails de plus (disons que la première fois, c'est la surprise qui m'a fait raté des trucs). Définitivement, si c'était évaluer sur le rire procuré, je te donnerais un 10/10. Définitivement, ce chat est un petit malcommode.
Vincentmhd nous a fait, en fait c'est une bonne question. J'aimerais qu'à l'avenir, lorsque c'est un concours multi-segments comme celui-ci, vousindiquiez à quelle(s) catégorie(s) vous participez. J'ai supposé que c'était globalement MAP. Encore une fois, quelques anomalies graphiques. Dans l'ensemble un peu surchargé par endroit peut-être, mais dans une forêt sans présence humaine, c'est possible. J'ai beaucoup aimé cependant l'apparition de flèches qui indiquait l'endroit d'où on avait testé le fait de pouvoir sauté. Bien pensé. Par contre, dans le cas d'un écureuil qui a la mémoire courte, je te suggèrerait "d'oublier" les espace "sautable" après un temps ou après un "changement" de map. Autre détail inquiétant toutefois dans ton jeu... Ton écureuil est en équipe avec 3 humains, il s'appelle Sniff, mais tout le monde l'appel Truc? Aussi, très rigolo la side quest avec l'oiseau. J'ai bien rit en courant après le volatile sur tout la carte pour finalement le traiter d'antisocial.
Finalement Yuko nous a fait je ne saurait trop dire lui non plus.... Une map, un scénario, il y a un peu de tout, donc c'est difficile à dire... Je ne saurait dire... s'il vous plait, dites-moi à quoi vous participez pitié... Un détail très encombrant... J'ai dû modifier un event (une chance que tu avais fourni le jeu non crypté... Un event transparent empêchait de traversé... dès le début du jeu...) Très belle map. Il y a l'intérieur des maison qui me semble farfelu un peu, mais dans l'ensemble j'ai trouvé ça très bien. La cutscene dans le temps ou grotte ou je ne sais pas trop comment l'appelé... C'est bien... J'aime surtout l'effet des glyphes après leur activation... Ça donne un très joli rendu... Le dernier petit désagrément, lorsqu'on va dans la partie sud de la ville, on ne peut plus revenir, t'as oublier de mettre le téléporteur de map de retour... mais les effets de cartes et tout le reste, c'est super...
Même si cette fois, je ne mets pas de gagnants, vos projets sont tous très intéressant. Ceux qui veulent s'en inspirer pour l'un ou l'autre des parties présenté, je vous le suggère fortement. Ces trois membres ont travaillé fort. C'est à la fois merveilleux et divertissant pour des projets de concours (gameplay entre 1 et 3 minutes). Merci de votre participation."
Mouvements supplémentaires.v2
-Introduction
Parfois j'ai besoin de petites fonctions simples, qui ne méritent pas de script à part entière, alors je les regourpent toutes là-dedans. Il y a des mouvements supplementaires, des accesseurs, des choses assez simples. Ce script se décompose en differents modules correspondants à des classes comme l'interpreteur ou character. Il y a ausi un module mixte. Cette organisation me permet de simplifier les inclusions.
-Installation
Ce script n'échappe pas à la régle du "copiez en dessous de material".
Il n'a pas de nécéssité particulière.
-script:
| Code: |
#=============================================================================== |
attr_accessor :trigger def change_trigger(t, id = @event_id) attr_accessor :priority_type def self_switches(id, value) def start_if_on def show_balloon(id) def moveto_R_between(x,y) attr_accessor :order def moveto_R_in(x_min, x_max, y_min, y_max) def moveto_P(x, y) def moveto_P_in(x_min, x_max, y_min, y_max) def jump_P(x_plus, y_plus) def jump_C(star) attr_accessor :target_x, :target_y #-------------------------------------------------------------------------------
Modification du déclenchement
Cette méthode modifie le trigger de l'event en question, cette méthode peut être très puissante...
Appel Déplacement:Spoiler:
Code:
def change_trigger( t )
@trigger = t
end
Appel Interpreter:Spoiler:
Code:
$game_map.events[id].trigger = t
end
Modification de la priorité d'un event (de la couche)
Cette méthode modifie la couche de l'event: dessus, desous, même que le héro, elle va de paire avec le changement de trigger, cette méthode peut être aussi très puissante si bien exploitée...
Appel Déplacement:Spoiler:
Code:
def change_priority(p)
@priority_type = p
end
Modification Selfswitches pendant un déplacement
Cette fonction me manquait car je me demande pourquoi ils ont mis une fonction pour modifier les game_switches mais pas les variables et les selfswitches?! id correspond à "A", "B" ... value true or false
Appel Déplacement:Spoiler:
Code:
key = [$game_map.map_id, @id, id]
$game_self_switches[key] = (value)
$game_map.need_refresh = true
end
Start event if on
C'est un besoin particulier. L'event commence manuellement si le player est sur la même case.
Appel Déplacement:Spoiler:
Code:
if $game_player.x == @x && $game_player.y== @y
start
end
end
Montre une émoticone
Appel Déplacement:Spoiler:
Code:
@balloon_id = id
end
Les déplacements
Téléportation aléatoire dans une liste de positions
x est y sont des arrays de taille identique.
Appel Déplacement:Spoiler:
Code:
index = rand(x.size)
moveto(x[index],y[index])
end
Téléportation ordonnée dans une liste de positions
x est y sont des arrays de taille identique.
Appel Déplacement:Spoiler:
Code:
def moveto_O(x,y)
if (@order == nil) || (@order == (x.size - 1))
@order = 0
else
@order +=1
end
moveto(x[@order],y[@order])
end
Téléportation aleatoire dans une zone rectangulaire
Appel Déplacement:Spoiler:
Code:
x = x_min + rand(x_max - x_min + 1)
y = y_min + rand(y_max - y_min + 1)
moveto(x.to_i,y.to_i)
end
Téléportation si la case est passable
Appel Déplacement:Spoiler:
Code:
if passable?(x,y)
moveto(x.to_i,y.to_i)
end
end
Téléportation aleatoire dans une zone rectangulaire et si la case est passable
Appel Déplacement:Spoiler:
Code:
x = x_min + rand(x_max - x_min + 1)
y = y_min + rand(y_max - y_min + 1)
while passable?(x,y)
moveto_P(x.to_i,y.to_i)
x = x_min + rand(x_max - x_min + 1)
y = y_min + rand(y_max - y_min + 1)
end
end
Saut si la case est passable
Appel Déplacement:Spoiler:
Code:
if passable? (@x + x_plus, @y + y_plus)
if x_plus.abs > y_plus.abs # Horizontal distance is longer
x_plus < 0 ? turn_left : turn_right
elsif x_plus.abs > y_plus.abs # Vertical distance is longer
y_plus < 0 ? turn_up : turn_down
end
@x += x_plus
@y += y_plus
distance = Math.sqrt(x_plus * x_plus + y_plus * y_plus).round
@jump_peak = 10 + distance - @move_speed
@jump_count = @jump_peak * 2
@stop_count = 0
straighten
end
end
Saut sur une des case autour au rayon spécifié et si la case est passable
Appel Déplacement:Spoiler:
Code:
dir = rand(8)
ok = false
a = 0
while ok == false
case dir
when 0 #down
ok = passable?(@x,@y-star)
when 1 #left
ok = passable?(@x-star,@y)
when 2 #right
ok = passable?(@x+star,@y)
when 3 #up
ok = passable?(@x,@y+star)
when 4 #down left
ok = passable?(@x-star,@y-star)
when 5 #down rigth
ok = passable?(@x+star,@y-star)
when 6 #up left
ok = passable?(@x-star,@y+star)
when 7 #up right
ok = passable?(@x+star,@y+star)
end
if (ok==false)
dir = rand(8)
end
end
if ok == true
case dir
when 0 #down
jump(0,-star)
when 1 #left
jump(-star,0)
when 2 #right
jump(star,0)
when 3 #up
jump(0,star)
when 4 #down left
jump(-star,-star)
when 5 #down rigth
jump(star,-star)
when 6 #up left
jump(-star,star)
when 7 #up right
jump(star,star)
end
end
end
S'approcher d'une position
Attention ce déplacement ne tient pas compte de la passabilité et peut bloquer l'event.
Appel Déplacement:Spoiler:
Code:
def approach_to(x,y)
@target_x = x
@target_y = y
sx = @x - @target_x
sy = @y - @target_y
if !((sx.abs == 0)&&(sy.abs == 0))
if (sx.abs > sy.abs) # Horizontal distance is longer
if (sx > 0)
move_left()
else
move_right()
end
else # Vertical distance is longer
if (sy > 0)
move_up()
else
move_down()
end
end
end
end
Aller à
Attention ce déplacement ne tient pas compte de la passabilité et peut bloquer l'event. Comme d'habitude il y a deux types de coordonnées: absolues et relatives. Ce déplacement se fait tant que le personnage n'a pas atteint les coordonées (blocage possible).
Appel Déplacement:Spoiler:
Code:
# Go to (x, y) absolue !!Passability is not considered
#-------------------------------------------------------------------------------
def go_to(x,y)
@target_x = x
@target_y = y
@custom_index = 1
end
#-------------------------------------------------------------------------------
# Go to (x, y) relative !!Passability is not considered
#-------------------------------------------------------------------------------
def go_to_R(x,y)
@target_x = @x + x
@target_y = @y + y
@custom_index = 1
end
#-------------------------------------------------------------------------------
# Go to (x y)
#-------------------------------------------------------------------------------
alias go_to_move_type_custom move_type_custom
def move_type_custom
if stopping?
case @custom_index
when 1
if ((@x == @target_x)&&(@y==@target_y))
@custom_index = nil
end
approach_to(@target_x, @target_y)
else
#nothing
end
end
go_to_move_type_custom
end
-Démo:
voir les résultats du concours de Sept 2009: Lien
Les meilleures applications sont dans les events des cellules mirroirs.
-Crédit: Vincentmhd
_________________