Re: [Flashcoders] calling an event function with a parameter that is a number

2009-05-24 Thread Juan Pablo Califano
Agreed!

2009/5/24 Steven Sacks flash...@stevensacks.net

 The latter is cleaner and better, IMO.

 Write a function that your event handler calls.  Then, you can call it from
 elsewhere and from your button click handler.

 function onThumbClick(event:MouseEvent):void
 {
loadImage(event.target.name);
 }
 function loadImage(num:int):void
 {
   // loadImage(num);

 }

 Juan Pablo Califano wrote:

 You have a couple of options:

 You could add an optional parameter to the function that handles the
 click,
 like this:

 function clickThumb(e:MouseEvent,index:int = 0):void{

 }

 Setting a default value for the index parameter allows the function to be
 called without passing it. That's what will happen when a thumb is
 clicked.

 When you want to call the function directly, you'd do:

 clickThumb(null,image_num + 1);

 In clickThumb, check whether the event object is null or not. If it's not,
 do what you're currently doing. If it's null, use the index parameter as
 the
 index into my_images.


 Another thing you could do is a bit of refactoring.

 Have the click handler only resolve the index and calling another function
 to actually load the image.

 function clickThumb(e:MouseEvent):void {
 loadImage(e.target.name);
 }

 function loadImage(index:int):void {
if (my_full_images[index] == undefined){
   var full_url = my_images[inde...@full;
   ... etc ...
 }

 Then, from your other button's handler, call loadImage(image_num + 1);


 Cheers
 Juan Pablo Califano

 2009/5/23 Isaac Alves isaacal...@gmail.com

 Hello!
 In my code there's a function that shows an image on the screen (or load
 the
 image and show a progress bar) that is called by clicking on a thumbnail,
 and uses a parameter [e.target.name] refering to the property name of
 the
 thumbnail clicked, which is an integer. The thumbnails are placed inside
 the
 cointaner_mc MovieClip.

 container_mc.addEventListener(MouseEvent.CLICK, clickThumb);

 function clickThumb(e:MouseEvent):void{
 if (my_full_images[e.target.name] == undefined){
 var full_url = my_images[e.target.nam...@full;

 etc...

 but I want to call this function by clicking on a button, which would
 need
 to pass another type of parameter, in this case, a variable which refers
 to
 the number of the image displayed on the screen plus one.

 I tried this:

 clickThumb(image_num + 1)

 But it doesn't work, I get the following error:

 1067: Implicit coercion of a value of type Number to an unrelated type
 flash.events:MouseEvent.

 How could I call the function clickThumb and make it use image_num + 1
 instead of e.target.name ?

 Could I dispatch the event (MouseEvent.CLICK, clickThumb), passing this
 value  image_num + 1 ?

 Thanks in advance !!
 Isaac
 ___
 Flashcoders mailing list
 Flashcoders@chattyfig.figleaf.com
 http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

 ___
 Flashcoders mailing list
 Flashcoders@chattyfig.figleaf.com
 http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

 ___
 Flashcoders mailing list
 Flashcoders@chattyfig.figleaf.com
 http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


[Flashcoders] calling an event function with a parameter that is a number

2009-05-23 Thread Isaac Alves
Hello!
In my code there's a function that shows an image on the screen (or load the
image and show a progress bar) that is called by clicking on a thumbnail,
and uses a parameter [e.target.name] refering to the property name of the
thumbnail clicked, which is an integer. The thumbnails are placed inside the
cointaner_mc MovieClip.

container_mc.addEventListener(MouseEvent.CLICK, clickThumb);

function clickThumb(e:MouseEvent):void{
if (my_full_images[e.target.name] == undefined){
var full_url = my_images[e.target.nam...@full;

etc...

but I want to call this function by clicking on a button, which would need
to pass another type of parameter, in this case, a variable which refers to
the number of the image displayed on the screen plus one.

I tried this:

clickThumb(image_num + 1)

But it doesn't work, I get the following error:

1067: Implicit coercion of a value of type Number to an unrelated type
flash.events:MouseEvent.

How could I call the function clickThumb and make it use image_num + 1
instead of e.target.name ?

Could I dispatch the event (MouseEvent.CLICK, clickThumb), passing this
value  image_num + 1 ?

Thanks in advance !!
Isaac
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] calling an event function with a parameter that is a number

2009-05-23 Thread Manish Jethani
On Sun, May 24, 2009 at 2:00 AM, Isaac Alves isaacal...@gmail.com wrote:

 1067: Implicit coercion of a value of type Number to an unrelated type
 flash.events:MouseEvent.

 How could I call the function clickThumb and make it use image_num + 1
 instead of e.target.name ?

Do you have the value of image_num already? Why not change the
signature of the clickThumb function so it accepts the number instead
of the event object?

  private function clickThumb(image_num:Number):void
  {
...
  }

Manish
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] calling an event function with a parameter that is a number

2009-05-23 Thread Juan Pablo Califano
You have a couple of options:

You could add an optional parameter to the function that handles the click,
like this:

function clickThumb(e:MouseEvent,index:int = 0):void{

}

Setting a default value for the index parameter allows the function to be
called without passing it. That's what will happen when a thumb is clicked.

When you want to call the function directly, you'd do:

clickThumb(null,image_num + 1);

In clickThumb, check whether the event object is null or not. If it's not,
do what you're currently doing. If it's null, use the index parameter as the
index into my_images.


Another thing you could do is a bit of refactoring.

Have the click handler only resolve the index and calling another function
to actually load the image.

function clickThumb(e:MouseEvent):void {
 loadImage(e.target.name);
}

function loadImage(index:int):void {
if (my_full_images[index] == undefined){
   var full_url = my_images[inde...@full;
   ... etc ...
}

Then, from your other button's handler, call loadImage(image_num + 1);


Cheers
Juan Pablo Califano

2009/5/23 Isaac Alves isaacal...@gmail.com

 Hello!
 In my code there's a function that shows an image on the screen (or load
 the
 image and show a progress bar) that is called by clicking on a thumbnail,
 and uses a parameter [e.target.name] refering to the property name of
 the
 thumbnail clicked, which is an integer. The thumbnails are placed inside
 the
 cointaner_mc MovieClip.

 container_mc.addEventListener(MouseEvent.CLICK, clickThumb);

 function clickThumb(e:MouseEvent):void{
 if (my_full_images[e.target.name] == undefined){
 var full_url = my_images[e.target.nam...@full;

 etc...

 but I want to call this function by clicking on a button, which would need
 to pass another type of parameter, in this case, a variable which refers to
 the number of the image displayed on the screen plus one.

 I tried this:

 clickThumb(image_num + 1)

 But it doesn't work, I get the following error:

 1067: Implicit coercion of a value of type Number to an unrelated type
 flash.events:MouseEvent.

 How could I call the function clickThumb and make it use image_num + 1
 instead of e.target.name ?

 Could I dispatch the event (MouseEvent.CLICK, clickThumb), passing this
 value  image_num + 1 ?

 Thanks in advance !!
 Isaac
 ___
 Flashcoders mailing list
 Flashcoders@chattyfig.figleaf.com
 http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] calling an event function with a parameter that is a number

2009-05-23 Thread Steven Sacks

The latter is cleaner and better, IMO.

Write a function that your event handler calls.  Then, you can call it from 
elsewhere and from your button click handler.


function onThumbClick(event:MouseEvent):void
{
loadImage(event.target.name);
}
function loadImage(num:int):void
{
   // loadImage(num);
}

Juan Pablo Califano wrote:

You have a couple of options:

You could add an optional parameter to the function that handles the click,
like this:

function clickThumb(e:MouseEvent,index:int = 0):void{

}

Setting a default value for the index parameter allows the function to be
called without passing it. That's what will happen when a thumb is clicked.

When you want to call the function directly, you'd do:

clickThumb(null,image_num + 1);

In clickThumb, check whether the event object is null or not. If it's not,
do what you're currently doing. If it's null, use the index parameter as the
index into my_images.


Another thing you could do is a bit of refactoring.

Have the click handler only resolve the index and calling another function
to actually load the image.

function clickThumb(e:MouseEvent):void {
 loadImage(e.target.name);
}

function loadImage(index:int):void {
if (my_full_images[index] == undefined){
   var full_url = my_images[inde...@full;
   ... etc ...
}

Then, from your other button's handler, call loadImage(image_num + 1);


Cheers
Juan Pablo Califano

2009/5/23 Isaac Alves isaacal...@gmail.com


Hello!
In my code there's a function that shows an image on the screen (or load
the
image and show a progress bar) that is called by clicking on a thumbnail,
and uses a parameter [e.target.name] refering to the property name of
the
thumbnail clicked, which is an integer. The thumbnails are placed inside
the
cointaner_mc MovieClip.

container_mc.addEventListener(MouseEvent.CLICK, clickThumb);

function clickThumb(e:MouseEvent):void{
if (my_full_images[e.target.name] == undefined){
var full_url = my_images[e.target.nam...@full;

etc...

but I want to call this function by clicking on a button, which would need
to pass another type of parameter, in this case, a variable which refers to
the number of the image displayed on the screen plus one.

I tried this:

clickThumb(image_num + 1)

But it doesn't work, I get the following error:

1067: Implicit coercion of a value of type Number to an unrelated type
flash.events:MouseEvent.

How could I call the function clickThumb and make it use image_num + 1
instead of e.target.name ?

Could I dispatch the event (MouseEvent.CLICK, clickThumb), passing this
value  image_num + 1 ?

Thanks in advance !!
Isaac
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders