Solved

Newbie AS3 question

Posted on 2009-04-05
8
288 Views
Last Modified: 2013-11-11
I am a newbie with AS3. I am trying to convert my old AS1 and AS2 files to AS3.

I want to create a function that will place movieClips on the stage and add listeners as needed so that they act as buttons. I have a call from a file named "indexAS3.fla" that is the following:
addIndexNavigation("filmInfoButton", "filmInfo", 84.1, 69.1); The name of the .as file is "indexAS3.as" and the code is pasted below.

The name of the first movieClip is: "filmInfo" and the linkage Class is set to "filmInfo", the Base class is set to "flash.display.MovieClip" and the Export for ActionScript and Export in first frame are both checked.

I get the following error message when I try to compile:
1180: Call to a possibly undefined method addIndexNavigation.
package {
	import flash.display.*;
	import flash.events.*;
	import flash.text.*;
 
	public class indexAS3 extends MovieClip {
		private var buttonName, movieClipName:String;
		private var xLoc, yLoc:Number;
 
		public function addIndexNavigation(buttonName:String, movieClipName:String, xLoc:Number, yLoc:Number) {
			//
			var buttonName:movieClipName = new movieClipName();
			buttonName.x = xLoc;
			buttonName.y = yLoc;
			addChild(buttonName);
		}
	}
}

Open in new window

0
Comment
Question by:msukow
  • 5
  • 3
8 Comments
 

Author Comment

by:msukow
ID: 24073006
Originally, my code looked like the following (which is attached), and I wasn't using the "indexAS3.as" file. The code was placed in the first frame.
addIndexNavigation();
 
//----------------------- FUNCTIONS --------------------------//
function addIndexNavigation():void  {
	// constant for position of navigation elements
	var navHeight:Number = 69.1;
	//
	var filmInfoButton:filmInfo = new filmInfo();
	filmInfoButton.x = 84.1;
	filmInfoButton.y = navHeight;
	addChild(filmInfoButton);
	//filmInfoButton.addEventListener(MouseEvent.CLICK,updateDisplay(filmInfo));
	//
	}

Open in new window

0
 

Author Comment

by:msukow
ID: 24073015
And the code worked as expected. The code above was my initial attempt at AS3 code . I think I should use classes somehow for better code practices and flexibility.
0
 
LVL 39

Expert Comment

by:blue-genie
ID: 24076212
ok so now you've sorted our your error or not?

in terms of using classes - personally i believe it depends if you need it or not. i.e. is this something that has a lot going on; are you going to want to reuse the code at a later stage for something else etc.

0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 

Author Comment

by:msukow
ID: 24076372
I still have the error - just wanted to clarify that I had a working solution without classes, but when I try to implement using classes, I do not. Primarily, I want to make all my code reusable.
0
 
LVL 39

Expert Comment

by:blue-genie
ID: 24076675
ok the error means that you're trying to access the method before it exists.

when do you call your method?
0
 

Author Comment

by:msukow
ID: 24106935
Maybe I'm thinking about this all wrong. I have programmed a site (http://www.americanlegacy-themovie.com/) that is a very simple flash AS 1/2 site. I want to re-do the site in AS 3.0 and I want to use only one frame in my .fla file. I also want to use classes as much as possible to program the site. I realize this may not be the most efficient way of doing it, but I really am having problems understanding the transition from 2.0 to 3.0 and think this would be the best way to understand it well. Is there a good link or book out there that would show me how to do this?
0
 
LVL 39

Accepted Solution

by:
blue-genie earned 500 total points
ID: 24129050
there's a wealth of information on AS3 on the web - check out the adobe site.
it would probably be best to learn about packages and classes before you go and try and change the code.

it's odd to me how people are suddenly wanting to go and change everything to AS3 - my question is why.
if it was working leave it alone and by all means use AS3 for new projects - but if it ain't broke dont' fix it.
i'm not going to go redo all my old projects to AS3 just because.
0
 

Author Comment

by:msukow
ID: 24220655
The reason I am re-working the code is to get a better understanding of AS3. I understand AS2 well, but am having a hard time updating my thinking to AS3 workflow logic. I am also trying to understand Flex which is obviously non-timeline-based.
0

Featured Post

Problems using Powershell and Active Directory?

Managing Active Directory does not always have to be complicated.  If you are spending more time trying instead of doing, then it's time to look at something else. For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This is a very simple example to help those of you who are still migrating from AS2 to AS3 understand the redesigned event model in AS3. In AS2.0, event functions (that is, the function to be performed when an event is fired) were stored as a pro…
While working over numerous projects I often had the requirement for doing a screen capture in AS3.0. Unfortunately I found no "ready made" solutions in google search that suited my requirements. But I did come across some great resources which help…
The goal of the tutorial is to teach the user how to select the video input device. Make sure you have an input device that in connected and work and recognized by Adobe Flash Media Live Encoder and select it in the “video input” menu.
The goal of the tutorial is to teach the user how to use the auto adjust feature and what the different options do. When your video is not working right you can choose the auto adjust feature to help choose your settings.

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question