Pour utiliser ce petit script il faut la version studio pour avoir l'event draw gui.
Pour faire une gui normalement je n'ai jamais eu besoin de cette event mais si je modifie les variables de la view pour zoomer ou dézoumer dans le jeu, alors un draw_sprite au coordonné de la view ne suffit plus. la taille du sprite reste la même donc si on zoom la gui grossie et se décale.
dans l'event draw gui il n'y a pas ce problème. Par contre si le dessin est bien au bonne dimension et au bonnes coordonnés lors du zoom/dézoom c'est pas le cas de la boite de collision. Alors si on veux interagir avec cette interface en cliquant dessus il ne se passe rien
.
Du coup ce que je fais c'est que je modifie dans step x y et image_xscale image_yscale en fonction du zoom.
Le rendu est pas top, la modification de image_xscale réduit la netteté du sprite et ya des décalages lors du déplacement de la view. C'est pourquoi il faut quand même utiliser un draw_sprite dans draw gui pour avoir un rendu plus propre et rendre invisible le sprite qui ne servira finalement que de boite de collision.
X=30 //coordonné dans la view
Y=30
wview=1200 // la vrais taille de view_wview quand il n'y a aucun zoom
hview=700
image_alpha=0
Dans step:
x=(view_xview[0]+X)+((view_wview[0]-wview)/(wview/X))
y=(view_yview[0]+Y)+((view_hview[0]-hview)/(hview/Y))
image_xscale=1+((view_wview[0]-wview)/1000)
image_yscale=image_xscale
Peut être qu'il ya plus simple et plus propre mais j'ai vraiment pas trouvé
_________________
- Spoiler: