MIAW déplaçable
Hello
MIAW se traduit par ( Movie In A Window ) animation dans une fenêtre
Combien d’entre vous on souhaitait déplacer une MIAW ( sans la barre de titre ) ?
Question souvent posée sur le forum, donc voici quelques explications
pour ouvrir une MIAW il nous faut deux fichiers dir, le 1er s’appelle main.dir et le 2em MoveMIAW.dir
Main.dir : ouvrir la MIAW via un bouton par exemple script de comportement placé sur le bouton en question
on mouseup w = window().new("MoveMIAW") -- MoveMIAW est le nom du fichier dir à ouvrir w.open() -- ouvrir la fenêtre end
MoveMIAW.dir : déplacer cette fenêtre qui ne possède pas de barre de titre script de comportement pouvant être mis comme script de frame ou sur un sprite simulant une barre de titre personnalisée ou encore une zone pour déplacer la fenêtre
-- Move MIAW version 1.00 property pMouseDown on beginsprite pMouseDown = 0 end on mousedown pMouseDown = 1 end on mouseup pMouseDown = 0 end on prepareframe if pMouseDown then MIAWRect = (the activewindow).rect OffsetClick= _mouse.mouseloc - _mouse.clickloc -- syntaxe MX2004 -- OffsetClick= the mouseLoc - the clickLoc -- syntaxe avant MX2004 (the activewindow).rect = MIAWRect.offset(OffsetClick.loch, OffsetClick.locv) end if end
Ici, j’utilise une variable de propriété “pMouseDown” pour définir le moment où je clique pour déplacer cette fenêtre. La fenêtre suit le déplacement de la souris lorsque pMouseDown est vrai dans le gestionnaire on prepareFrame.
Sébastien Portebois propose une alternative intéressante en utilisant the actorlist et non plus une variable de propriété.
on mousedown me (the actorlist).add(me) end on mouseup me (the actorlist).deleteone(me) end on stepframe me MIAWRect = (the activewindow).rect OffsetClick= _mouse.mouseloc - _mouse.clickloc -- syntaxe MX2004 -- OffsetClick= the mouseLoc - the clickLoc -- syntaxe avant MX2004 (the activewindow).rect = MIAWRect.offset(OffsetClick.loch, OffsetClick.locv) end
le résultat de déplacement est identique à la méthode proposée juste au dessus mais il a l’avantage ( non négligeable ) de ne pas utiliser de variable qu’elle soit de propriété ou global.
tuto by Sebastien Portebois and Leedoriden
