[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Swftools-common] a question on Mouse.addListener
From: |
Chris Pugh |
Subject: |
Re: [Swftools-common] a question on Mouse.addListener |
Date: |
Mon, 16 Nov 2009 22:11:54 +0000 |
Pablo,
Does this example help?
----------------------------------------------------------------------------------------------------------------
.flash filename="button.swf" bbox=300x200 version=8 fps=60 compress
.font tahoma "fonts/tahoma.ttf"
.box buttonbox color=black height=140 width=140 fill=blue
.box button_pressed width=22 height=10 color=green fill=salmon line=2
.box button_idle width=22 height=10 color=red fill=salmon line=2
.box button_hover width=22 height=10 color=red fill=salmon line=2
.box button_area width=300 height=250 color=black fill=black line=2
.edittext tb font=tahoma color=green size=10pt width=100 height=50
text="Button Idle" variable=textb
.button button1
#
# A button whose active area is larger than the button itself
#
.show button_idle as=shape x=50 y=50
.show button_hover as=hover x=50 y=50
.show button_pressed as=pressed x=50 y=50
.show button_area as=area x=-50 y=-50
.on_press:
tb.text="Button Pressed";
.end
.on_release:
tb.text="Button Idle";
.end
.end
.frame 1
.put button1
.put tb x=100 y=100
.end
----------------------------------------------------
In the example you gave, the area is being measured from the top left
of the button.
Remember that you have pushed both your buttons to mid-screen.
HTH.
Regards,
Chris.
2009/11/14 Pablo Rodríguez <address@hidden>:
> Hi there,
>
> I have written a loader (that I have been mailing about recently
> [http://www.ousia.tk/fculture.php] ;-)) that does exactly what I want,
> except for a minor undesired feature :-(.
>
> My idea is to lead the user to fullscreen the presentation and then to
> load it. So, if the button is pressed, everything works fine. But it can
> happen that one double-clicks outside the button and
>
> The code for the loader can be found at http://www.ousia.tk/loader.txt
> (and pasted below).
>
> Chris, I know is a real mess, but all I need is how do I need to rewrite
> the first Mouse.addListener in order to be able to delete the second one
> (that right now is that enables the presentation downloading). Believe
> me, everything else works fine.
>
> Thanks for your help,
>
>
> Pablo
>
>
>
>
> .flash filename="loader.swf" version=7 fps=12
> .font roman "/usr/share/fonts/truetype/FreeSansBold.ttf" glyphs="
> %()KB0123456789/:,.PDuk[]resntiocanbld!"
> .edittext newloader font=roman color=#ffff00 size=30% width=300
> height=30 border=none align="center" noselect variable=load_text
> .box placeholder width=720 height=540
> .outline fscreen_outline: M 62.78125 18.703125 L 43.367188 23.734375 L
> 38.390625 43.09375 L 42.109375 39.375 L 48.671875 45.9375 L 65.625
> 29.039062 L 59.0625 22.421875 L 62.78125 18.703125 z M 199.71875
> 18.703125 L 203.4375 22.421875 L 196.875 29.039062 L 213.773438 45.9375
> L 220.390625 39.375 L 224.109375 43.09375 L 219.132812 23.734375 L
> 199.71875 18.703125 z M 83.125 45.9375 C 73.429688 45.9375 65.625
> 53.742188 65.625 63.4375 L 65.625 133.4375 C 65.625 143.132812 73.429688
> 150.9375 83.125 150.9375 L 179.375 150.9375 C 189.070312 150.9375
> 196.875 143.132812 196.875 133.4375 L 196.875 63.4375 C 196.875
> 53.742188 189.070312 45.9375 179.375 45.9375 L 83.125 45.9375 z M
> 48.726562 150.9375 L 42.109375 157.5 L 38.390625 153.78125 L 43.367188
> 173.140625 L 62.78125 178.171875 L 59.0625 174.453125 L 65.625
> 167.835938 L 48.726562 150.9375 z M 213.773438 150.9375 L 196.875
> 167.835938 L 203.4375 174.453125 L 199.71875 178.171875 L 219.132812
> 173.140625 L 224.109375 153.78125 L 220.390625 157.5 L 213.773438
> 150.9375 z .end
> .outline fulls_outline: M 17.5 0 L 245 0 C 254.695312 0 262.5 7.804688
> 262.5 17.5 L 262.5 179.375 C 262.5 189.070312 254.695312 196.875 245
> 196.875 L 17.5 196.875 C 7.804688 196.875 0 189.070312 0 179.375 L 0
> 17.5 C 0 7.804688 7.804688 0 17.5 0 z .end
> .filled fscreen outline=fscreen_outline fill=#969696ff color=#969696ff
> .filled fulls outline=fulls_outline fill=#64646496 color=#64646496
>
> .button fscr_button
> .show fscreen as=idle
> .show fscreen as=area
> .show fscreen as=hover
> .show fscreen as=pressed
> .end
>
> .button fs_button
> .show fulls as=idle
> .show fulls as=area
> .show fulls as=hover
> .show fulls as=pressed
> .on_release:
> fscr_button._visible = 0;
> fs_button._visible = 0;
> Stage["displayState"] = "fullScreen";
> _root.load_text = "[Double click to start]";
> _root.dlprogress_mvclip._visible = true;
> Mouse.addListener(images.first_loading);
> .end
> .end
>
> .sprite fullscreen_button
> .put fscr_button
> .put fs_button
> .end
>
> .swf first_slide "orphanworks-first.swf"
>
> .frame 1
> .put first_slide
> .stop first_slide
> .put newloader
> .stop newloader
> .put fullscreen_button
> .stop fullscreen_button
>
> .action:
> slide_height=Stage.height;
> slide_width=Stage.width;
>
> counter_percent=(slide_width/800)*100;
> newloader._xscale=counter_percent;
> newloader._yscale=counter_percent;
> newloader._x = (slide_width-(newloader._width))/2;
> newloader._y = (slide_height-newloader._height)/2;
>
> fullscreen_button._x = (slide_width-(fullscreen_button._width))/2;
> fullscreen_button._y = (slide_height-fullscreen_button._height)/2;
>
> _root.createEmptyMovieClip("dlprogress_mvclip", 0);
> dlprogress_mvclip.createEmptyMovieClip("bar", 1);
> dlprogress_mvclip.createEmptyMovieClip("stroke", 2);
>
> with (dlprogress_mvclip.stroke) {
> lineStyle(0, 0xFF0000, 30);
> moveTo(0, 0);
> lineTo(300, 0);
> lineTo(300, 40);
> lineTo(0, 40);
> lineTo(0, 0);
> }
> with (dlprogress_mvclip.bar) {
> beginFill(0xFF0000, 30);
> moveTo(0, 0);
> lineTo(300, 0);
> lineTo(300, 40);
> lineTo(0, 40);
> lineTo(0, 0);
> endFill();
> _xscale = 0;
> }
> dlprogress_mvclip._x = (slide_width-dlprogress_mvclip._width)/2;
> dlprogress_mvclip._y = (slide_height-dlprogress_mvclip._height)/2;
>
> dlprogress_mvclip._visible = false;
> .end
>
> .sprite images
> .put placeholder alpha=0%
> .action:
> the_presentation = "lessig-freeculture.swf";
> first_loading = new Object();
> first_loading.onMouseDown = function () {
> if (gettimer() - firstclick < 400) {
> load_swf = new MovieClipLoader();
> load_swf.loadClip(the_presentation, placeholder);
> listen_loading = new Object();
> listen_loading.onLoadStart = function(target) {
> _root.dlprogress_mvclip.bar._xscale = 0;
> _starttime = gettimer();
> };
> listen_loading.onLoadProgress = function(target, bytesLoaded,
> bytesTotal) {
> downldtime = (gettimer() - _starttime) / 1000;
> _root.load_text = (String (Math.round ((bytesLoaded * 100) /
> bytesTotal)) + "% (" + Math.round((bytesLoaded / 1024) / downldtime) + "
> KB/s)");
> _root.dlprogress_mvclip.bar._xscale =
> Math.round(bytesLoaded/bytesTotal*100);
> keeping_awake = setInterval(function(){}, 1000);
> };
> listen_loading.onLoadComplete = function(target) {
> clearInterval(keeping_awake);
> _root.load_text = "";
> _root.dlprogress_mvclip._visible = 0;
> _root.dlprogress_mvclip.bar._visible = 0;
> _root.first_slide._visible = 0;
> };
> load_swf.addListener(listen_loading);
> } else {
> firstclick = gettimer();
> }
> };
> Mouse.addListener(first_loading);
> .end
> .end
>
> .action:
> this.attachMovie("images","presentation_sprite",1);
> .end
>
> .end
>
>
>