Help Converting old AS2 code to AS3
I just updated an old flash file with some new photos. I don't know much about Flash - enough to change the photos and hit export BUT now I'm getting errors. I had a _root issue which I fixed thanks to this forum but I'm still getting these errors:
Scene 1, Layer 'Actions', Frame 3, Line 14, Column 2
1120: Access of undefined property timer1.
Scene 1, Layer 'Actions', Frame 3, Line 18, Column 2
1120: Access of undefined property i.
Scene 1, Layer 'Actions', Frame 3, Line 29, Column 2
1120: Access of undefined property timer2.
Scene 1, Layer 'Actions', Frame 3, Line 33, Column 35
1120: Access of undefined property i.
Scene 1, Layer 'Actions', Frame 3, Line 34, Column 5
1120: Access of undefined property i.
Scene 1, Layer 'Actions', Frame 3, Line 35, Column 17
1120: Access of undefined property timer2.
Scene 1, Layer 'Actions', Frame 3, Line 40, Column 2
1120: Access of undefined property i.
Scene 1, Layer 'Actions', Frame 3, Line 40, Column 6
1120: Access of undefined property i.
Scene 1, Layer 'Actions', Frame 3, Line 44, Column 16
1120: Access of undefined property timer1.
Preloader, Layer 'Actions', Frame 1, Line 1, Column 1
1120: Access of undefined property bytes_loaded.
Preloader, Layer 'Actions', Frame 1, Line 2, Column 1
1120: Access of undefined property bytes_total.
Preloader, Layer 'Actions', Frame 1, Line 3, Column 1
1120: Access of undefined property getPercent.
Preloader, Layer 'Actions', Frame 1, Line 3, Column 14
1120: Access of undefined property bytes_loaded.
Preloader, Layer 'Actions', Frame 1, Line 3, Column 27
1120: Access of undefined property bytes_total.
Preloader, Layer 'Actions', Frame 1, Line 4, Column 25
1120: Access of undefined property getPercent.
Preloader, Layer 'Actions', Frame 1, Line 5, Column 30
1120: Access of undefined property getPercent.
Preloader, Layer 'Actions', Frame 1, Line 7, Column 5
1120: Access of undefined property bytes_loaded.
Preloader, Layer 'Actions', Frame 1, Line 7, Column 21
1120: Access of undefined property bytes_total.
Preloader, Layer 'Actions', Frame 1, Line 8, Column 24
1067: Implicit coercion of a value of type int to an unrelated type String.
I didn't originally write the code and I don't know nearly enough about Flash to fix them. Here's the code:
stop();
var fadeSpeed = 40; //Sets fad-in speed of images, default is 30
var imageTime = 5; //Sets time each image is on screen, in seconds
MovieClip(root).attachMovie("mc_Images", "mcFader", 10, {x:0, y:0});
MovieClip(root).mcFader._alpha = 0;
MovieClip(root).mcFader._visible = false;
var imageNum = 1;
startShow();
function startShow(){
timer1 = setInterval(loadImage, imageTime * 1000);
function loadImage(){
i = 0;
imageNum ++;
if(imageNum == MovieClip(root).mcImages._totalFrames + 1){
imageNum = 1;
MovieClip(root).mcImages._x = 0;
MovieClip(root).mcImages._y = 0;
MovieClip(root).mcFader._alpha = 0;
MovieClip(root).mcFader._visible = true;
MovieClip(root).mcFader.gotoAndStop(imageNum);
MovieClip(root).nextImage = imageNum;
timer2 = setInterval(fadeImage, fadeSpeed);
function fadeImage(){
MovieClip(root).mcFader._alpha = i;
if(i > 100){
clearInterval(timer2);
MovieClip(root).mcImages.gotoAndStop(MovieClip(root).nextImage);
MovieClip(root).mcFader._alpha = 0;
MovieClip(root).mcFader._visible = false;
i = i + 10;
function goLink(fNum){
clearInterval(timer1);
MovieClip(root).mcImages.gotoAndStop(fNum);
ANY help would be GREATLY appreciated!!
Ok, I researched a little.
The variable i is set to 0 in loadImage, which is called by a timed out function startShow, which is called directly.
So I was right to surmise I=0, but you don't even need to define it yet.
If you add
var i;
var timer1,timer2;
to the top of the program, all the variables are defined globally, which as far as I can see is the intention.
That leaves me with one undefined variable and curious syntax:
r36:
this.mcImages.gotoAndStop(this.nextImg age);
What is intended here? Age is never defined. I guess it might be defined by Flashvars, as in as2, these would be accesible as a root variable, but this doesn't mean much to me. I'd expect something like this.nextImg+age or something.
So I searched again: nextImg is not defined but I found this.nextImage = imageNum;
So there is just a space that got in there somehow.
Fixed that and it compiles, but immeadeately after compilation you get a problem with attachMovie
this.attachMovie("mc_Images", "mcFader", 10, {x:0, y:0});
This is a as2 way of taking things out of your library and placing them as a child of another.
The new way to do that is to make a clip accessible in your library and then instantiate a new class with:
var mcFader:mc_Images= new mc_Images();
this.setChildIndex(mcFader,10);
mcFader.x=0; // this is not needed, as it is default, as it was in as2, so it was obsolete there as well!
mcFader.y=0;// this is not needed, as it is default, as it was in as2, so it was obsolete there as well!
this.addChild(mcFader);
There are some other issues after that,
I would have to look at the source to fix them, because they have to do with the structure of mc_images. Which is not in code, but in your library.
The whole code would the look like this:
stop();
var fadeSpeed = 40; //Sets fad-in speed of images, default is 30
var imageTime = 5; //Sets time each image is on screen, in seconds
var mcFader:mc_Images= new mc_Images();
this.setChildIndex(mcFader,10);
mcFader.x=0; // this is not needed, as it is default, as it was in as2, so it was obsolete there as well!
mcFader.y=0;// this is not needed, as it is default, as it was in as2, so it was obsolete there as well!
this.addChild(mcFader);
this.mcFader._alpha = 0;
this.mcFader._visible = false;
var imageNum = 1;
var i=0;
var timer1,timer2;
startShow();
function startShow(){
timer1 = setInterval(loadImage, imageTime * 1000);
function loadImage(){
i = 0;
imageNum ++;
if(imageNum == this.mcImages._totalFrames + 1){
imageNum = 1;
this.mcImages._x = 0;
this.mcImages._y = 0;
this.mcFader._alpha = 0;
this.mcFader._visible = true;
this.mcFader.gotoAndStop(imageNum);
this.nextImage = imageNum;
var timer2 = setInterval(fadeImage, fadeSpeed);
function fadeImage(){
this.mcFader._alpha = i;
if(i > 100){
clearInterval(timer2);
this.mcImages.gotoAndStop(this.nextImgage);
this.mcFader._alpha = 0;
this.mcFader._visible = false;
i = i + 10;
function goLink(fNum){
clearInterval(timer1);
this.mcImages.gotoAndStop(fNum);
jencreates wrote:
I just updated an old flash file with some new photos. I don't know much about Flash - enough to change the photos and hit export BUT now I'm getting errors. I had a _root issue which I fixed thanks to this forum but I'm still getting these errors:
Scene 1, Layer 'Actions', Frame 3, Line 14, Column 2
1120: Access of undefined property timer1.
Scene 1, Layer 'Actions', Frame 3, Line 18, Column 2
1120: Access of undefined property i.
Scene 1, Layer 'Actions', Frame 3, Line 29, Column 2
1120: Access of undefined property timer2.
Scene 1, Layer 'Actions', Frame 3, Line 33, Column 35
1120: Access of undefined property i.
Scene 1, Layer 'Actions', Frame 3, Line 34, Column 5
1120: Access of undefined property i.
Scene 1, Layer 'Actions', Frame 3, Line 35, Column 17
1120: Access of undefined property timer2.
Scene 1, Layer 'Actions', Frame 3, Line 40, Column 2
1120: Access of undefined property i.
Scene 1, Layer 'Actions', Frame 3, Line 40, Column 6
1120: Access of undefined property i.
Scene 1, Layer 'Actions', Frame 3, Line 44, Column 16
1120: Access of undefined property timer1.
Preloader, Layer 'Actions', Frame 1, Line 1, Column 1
1120: Access of undefined property bytes_loaded.
Preloader, Layer 'Actions', Frame 1, Line 2, Column 1
1120: Access of undefined property bytes_total.
Preloader, Layer 'Actions', Frame 1, Line 3, Column 1
1120: Access of undefined property getPercent.
Preloader, Layer 'Actions', Frame 1, Line 3, Column 14
1120: Access of undefined property bytes_loaded.
Preloader, Layer 'Actions', Frame 1, Line 3, Column 27
1120: Access of undefined property bytes_total.
Preloader, Layer 'Actions', Frame 1, Line 4, Column 25
1120: Access of undefined property getPercent.
Preloader, Layer 'Actions', Frame 1, Line 5, Column 30
1120: Access of undefined property getPercent.
Preloader, Layer 'Actions', Frame 1, Line 7, Column 5
1120: Access of undefined property bytes_loaded.
Preloader, Layer 'Actions', Frame 1, Line 7, Column 21
1120: Access of undefined property bytes_total.
Preloader, Layer 'Actions', Frame 1, Line 8, Column 24
1067: Implicit coercion of a value of type int to an unrelated type String.
I didn't originally write the code and I don't know nearly enough about Flash to fix them. Here's the code:
stop();
var fadeSpeed = 40; //Sets fad-in speed of images, default is 30
var imageTime = 5; //Sets time each image is on screen, in seconds
MovieClip(root).attachMovie("mc_Images", "mcFader", 10, {x:0, y:0});
MovieClip(root).mcFader._alpha = 0;
MovieClip(root).mcFader._visible = false;
var imageNum = 1;
startShow();
function startShow(){
timer1 = setInterval(loadImage, imageTime * 1000);
function loadImage(){
i = 0;
imageNum ++;
if(imageNum == MovieClip(root).mcImages._totalFrames + 1){
imageNum = 1;
MovieClip(root).mcImages._x = 0;
MovieClip(root).mcImages._y = 0;
MovieClip(root).mcFader._alpha = 0;
MovieClip(root).mcFader._visible = true;
MovieClip(root).mcFader.gotoAndStop(imageNum);
MovieClip(root).nextImage = imageNum;
timer2 = setInterval(fadeImage, fadeSpeed);
function fadeImage(){
MovieClip(root).mcFader._alpha = i;
if(i > 100){
clearInterval(timer2);
MovieClip(root).mcImages.gotoAndStop(MovieClip(root).nextIm age);
MovieClip(root).mcFader._alpha = 0;
MovieClip(root).mcFader._visible = false;
i = i + 10;
function goLink(fNum){
clearInterval(timer1);
MovieClip(root).mcImages.gotoAndStop(fNum);
ANY help would be GREATLY appreciated!!
Similar Messages
-
Help plsss converting this AS2 code to AS3!!
here is a little AS2 code that is in fact a photo gallery
that i use in my site and i want to convert it to AS3 but i just
cant seem to get it right... could someone plssss help me?!?!with what part are you having trouble?
-
Need assistance converting some AS2 code to AS3
Hi,
I have some simple AS2 code that brings in a MovieClip when
you click a button. This is currently AS2, and I would rather
convert it to AS3. I also have some code which closes the MovieClip
upon button Click.
The code I am currently using is below:addMC is the name of one of the event handler functions, not
the button(s). the button instance names are: addButton and
removeButton.
To have three of them, duplicate what you see and have new
variables, functions, and button names for all three sets, adjusted
appropriately.
I'm pretty sure this isn't over yet, I'm just giving you code
per your defined scenario, which may have a hole or two in it. Try
it out and see what you really want to do, then come back when you
find out things need to be tamed in some way or aren't working as
you want. There are more complicated ways to deal with a situation
depending on what you really want, and I'm one who prefers to see
some work done at your end that shows you've tried something (I'm
not mean, much, I just have this thing about learning by doing). -
Help! Convert simple Flash AS2 code to AS3
Hi everyone,
I'm a Flash beginner and followed a tutorial: http://www.webwasp.co.uk/tutorials/018/tutorial.php ... to learn how to make a "live paint/draw" effect. I didn't realize that if I made something in AS2, I wouldn't be able to embed it (and have it work) into my root AS3 file, where I've got a bunch of other stuff going on. I've tried following tips on how to change AS2 code to AS3, but it just doesn't work. I know it's simple code, and that some genius out there can figure it out, but I'm at a loss. Please help!
Here's the AS2 code:
_root.createEmptyMovieClip("myLine", 0);
_root.onMouseDown = function() {
myLine.moveTo(_xmouse, _ymouse);
ranWidth = Math.round((Math.random() * 10)+2);
myLine.lineStyle(ranWidth, 0xff0000, 100);
_root.onMouseMove = function() {
myLine.lineTo(_xmouse, _ymouse);
_root.onMouseUp = function() {
_root.onMouseMove = noLine;
Thanks in advance!
Signed,
Nicolle
Flash DesperadoConsidering the code is on timeline:
var myLine:Sprite = new Sprite();
addChild(myLine);
var g:Graphics = myLine.graphics;
addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
function onMouseDown(e:MouseEvent):void {
var ranWidth:Number = Math.round((Math.random() * 10) + 2);
g.clear();
g.lineStyle(ranWidth, 0xFF0000, 1);
addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
function onMouseMove(e:MouseEvent):void {
g.lineTo(mouseX, mouseY);
function onMouseUp(e:MouseEvent):void {
removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
removeEventListener(MouseEvent.MOUSE_UP, onMouseUp); -
Dummy Guide needed for converting AS2 code into AS3
I have to convert my existing AS2 code into AS3, but I might as well be reading chinese. I never even began to learn AS3, it was still fairly new at the time and the class ended before we had an opportunity to even touch on it. My major was not web design, it was the print side of design. I took an additional class, after I graduated, to learn web design and our teacher told us, basically, that we were designers, not coders so we won't be getting much into actionscripting, beyond the basics. At the time I was relieved, but looking back, I really wish we would have gotten more into it. Bottom line, I need to learn now.
Is there ANYONE that can help me out? I will list my code below, buy I am way beyond lost any help that can be provided, I would be so grateful!!!!
On the main timeline I have the basic..
stop(); -- I found the AS3 version, but I don't know what I'm looking at. I get "not_yet_set.stop()" and there are are 8 options I can choose from. I just want the timeline to stop until I tell it where to go next. And what is "not_yet_set"
Then I have my buttons, which are, basically...
on (release) {
gotoAndStop("Home");
Or "gotoAndPlay("Whatever");"
I also have buttons for scrolling...
on (press) {
play();
on (release) {
stop();
AND
on (press) {
_root.AboutMe_Controller.gotoAndPlay(…
on (release) {
_root.AboutMe_Controller.gotoAndStop(…
For the on(release) command, this is what I found as the AS3 version: not_set_yet.dispatchEvent()because that's really as1 code, you have steeper learning curve than going from as2 to as3.
first, remove all code from objects, assign instance names to your buttons and you can then start on as3:
// so, if you name your home button, home_btn:
home_btn.addEventListener(MouseEvent.CLICK,homeF);
function homeF(e:MouseEvent):void{
gotoAndStop("Home");
p.s. the not_yet_set stuff is there because you tried to use script assist or some other actionscript shortcut. -
Noob question: How to update very basic as2 code to as3.
I've been asked to update a web banner with old as2 code, and not being a coder or a regular Flash user, I'm stuck with what I'm sure is a simple problem. The code in the opening frame is;
function timeOut(pauseTime) {
stop();
pauseTimer = setInterval(this, "goPlay", pauseTime);
function goPlay() {
play();
clearInterval(pauseTimer);
After that there are a few frames that include timeOut(500); code, which seems basic enough, so I imagine my problems are all in the opening code.
I get 4 errors that all refer to Frame 1;
1120: Access of undefined property pauseTimer.
1067: Implicit coercion of a value of type CapOne_MM_648x480b_fla:MainTimeline to an unrelated type Function.
1067: Implicit coercion of a value of type String to an unrelated type Number.
1120: Access of undefined property pauseTimer.
Can anyone help or point me in the right direction? Thanks.For the code you show there would be no need to convert to AS3 since between AS2 and AS3 it hasn't changed. One thing you do need to do is declare variables and since pauseTimer is used in mutliple functions it needs to be declared outside any functions. Another thing you need to do is specify the variable types, including the arguments passed into function. As for the setInterval call itself it appears to be written incorrectly....
var pauseTimer:Number;
function timeOut(pauseTime:Number) {
stop();
pauseTimer = setInterval(goPlay, pauseTime); -
As2 code to As3 conversion please
Hey, could someone help me converting the following code to AS3. Thanks for any help..
id=_root.id;
if(this._y<>_root.txk){
this._y=_root.txk;
_root.txk+=60;
this._x=_root.txx;
textyazı="";
onEnterFrame=function(){
this._name=namet.text;
if(_root.txk==360){
_root.txx+=60;
_root.txk=60;
this.onPress=function(){
if(_root["t"+namet.text].txtn.text<>namet.text){
_root.attachMovie("txt_dd","t"+namet.text,_root.derinlik);
_root["t"+namet.text]._x=100;
_root["t"+namet.text]._y=100;
_root["t"+namet.text].txtyname.text=namet.text;
_root["t"+namet.text].txtn.text=namet.text;
_root["t"+namet.text].txtyazılar.text=textyazı;
_root.derinlik++;
txtac = SharedObject.getLocal(id);
setInterval(function(){
if(txtac.data.namet<>"" && txtac.data.id>0){
namet.text=txtac.data.namet;
textyazı=txtac.data.textyazı;
id=txtac.data.id;
}else{
namet.text=_name;
if(namet.text=="undefined"){
namet.text=_name;
if(textyazı==undefined){
textyazı="";
},50);
this.useHandCursor=false;1.download flashdevelop (Flash has bad code hinting and error descriptions)
2.start with deleting underscores in _root,_x,_y
3.work your way up from there
4.Lines like:
this.onPress=function
are probably attached directly to a button or MovieClip: This is not possible in as3 anymore. You have to take the code out of the button and put it on the timeline of the button, if it is a MovieClip.
5.The Event Model has changed considerably:
onEnterFrame=function(){
// do stuff here
is now
addEventListener(ENTER_FRAME, enterFrameHandler);
function enterFrameHandler(e:Event):void{
//do stuff here -
I used a tutorial http://www.flash-game-design.com/flash-tutorials/funky-flash-website-tutorial-5.html to make a menu for my application, I've tried following tips on how to change AS2 code to AS3, but it just doesn't work.
menu = ["bulls", "about", "roster", "schedule"];
var current = menu[0];
for (var i = 0; i<menu.length; i++) {
var b = menu[i];
this[b+"_btn"].stars._visible = false;
this[b+"_btn"].txt = b;
this[b+"_btn"].onPress = function() {
_root.site[current+"_btn"].stars._visible = false;
_root.site[this.txt+"_btn"].stars._visible = true;
current = this.txt;
_root.site.content.gotoAndStop(this.txt)
this[current+"btn"].stars._visible = true;
this.onEnterFrame = function() {
this[current+"_btn"].stars.s1._rotation += 1;
this[current+"_btn"].stars.s2._rotation += 0.5;
Thank you,
GlennJust a note. Function declarations in a loop is an EXTREMELY bad practice that will lead to many problems if it doesn't have some already. So, the following lines:
for (var i:int = 0; i<menu.length; i++) {
var b:String = menu[i];
this[b+"_btn"].stars.visible = false;
this[b+"_btn"].addEventListener(MouseEvent.CLICK,fn);
this[b+"_btn"].txt=b;
function fn(e:MouseEvent):void{
this[current].stars.visible = false;
var nam:String=e.target.parent.name;
this[nam].stars.visible = true;
current = nam;
//MovieClip(root).site.content.gotoAndStop(this.txt)
should be:
for (var i:int = 0; i < menu.length; i++) {
var b:String = menu[i];
this[b+"_btn"].stars.visible = false;
this[b+"_btn"].addEventListener(MouseEvent.CLICK,fn);
this[b+"_btn"].txt=b;
function fn(e:MouseEvent):void {
this[current].stars.visible = false;
var nam:String=e.target.parent.name;
this[nam].stars.visible = true;
current = nam;
//MovieClip(root).site.content.gotoAndStop(this.txt) -
Need help converting old Applescript for Snow Leopard
Ok, so I've downloaded the app "PowerHour" for mac. It needs to use the date function which is different in Snow Leopard, so I've heard. I don't program in Apple Script so I can't figure out what syntax to use. Can anyone help me fix this code below?
I'm trying to code this because I don't think the original developer has any hand in this program anymore.
The app on macupdate: http://www.macupdate.com/app/mac/24107/power-hour
Here's the part that is giving the errors:
set gameLengthAsDate to (date (zeroTime)) + (enteredMinutes * minutes)
set songLengthAsDate to date (songLength)
set gameStart to current date
set songStart to gameStart
set gameEnd to gameStart + (time of gameLengthAsDate)
set songEnd to songStart + (time of songLengthAsDate)AppleScript in Snow Leopard is a bit pickier about specifying dates. From the AppleScript Release Notes, "the [date] string must exactly match one of the system date formats".
It looks like the script is using a shortcut to set the time of the current date. I didn't test a modified application (just that the script statements set a valid date), but you might give the following a try:
1) change the following properties (declared at the beginning of the script)property zeroTime : 0
property songLength : 60
2) change the statements that set the time toset gameLengthAsDate to (current date)
set time of gameLengthAsDate to zeroTime + (enteredMinutes * minutes)
set songLengthAsDate to (current date)
set time of songLengthAsDate to songLength -
Convert as2 code to as3 please help
function fDieList()
if (pDieList.length > 0)
_root.inSFX.die.start();
for (var _loc2 = 0; _loc2 <= pDieList.length; ++_loc2)
pDieList[_loc2].fDie();
} // end of for
pDieList = [];
actioner.pKills = true;
} // end if
} // End of the function
function fDieListSetup()
if (pDieList.length > 0)
for (var _loc1 = 0; _loc1 <= pDieList.length; ++_loc1)
pDieList[_loc1].fDieSetup();
} // end of for
} // end if
} // End of the function
function recur(fromx, fromy, tox, toy)
var _loc2 = fromy;
var _loc1 = fromx;
var _loc3 = toy;
if (_loc1 == tox && _loc2 == _loc3)
return (true);
else
++len;
drum[len][0] = _loc1;
drum[len][1] = _loc2;
wa[_loc1][_loc2] = 1;
if (_loc1 > tox && _loc2 > _loc3)
if (_loc1 > 1 && wa[_loc1 - 1][_loc2] == 0)
ok = recur(_loc1 - 1, _loc2, tox, _loc3);
if (ok)
return (ok);
} // end if
} // end if
if (_loc2 > 1 && wa[_loc1][_loc2 - 1] == 0)
ok = recur(_loc1, _loc2 - 1, tox, _loc3);
if (ok)
return (ok);
} // end if
} // end if
if (_loc1 < limits && wa[_loc1 + 1][_loc2] == 0)
ok = recur(_loc1 + 1, _loc2, tox, _loc3);
if (ok)
return (ok);
} // end if
} // end if
if (_loc2 < limits && wa[_loc1][_loc2 + 1] == 0)
ok = recur(_loc1, _loc2 + 1, tox, _loc3);
if (ok)
return (ok);
} // end if
} // end if
else if (_loc1 <= tox && _loc2 > _loc3)
if (_loc2 > 1 && wa[_loc1][_loc2 - 1] == 0)
ok = recur(_loc1, _loc2 - 1, tox, _loc3);
if (ok)
return (ok);
} // end if
} // end if
if (_loc1 < limits && wa[_loc1 + 1][_loc2] == 0)
ok = recur(_loc1 + 1, _loc2, tox, _loc3);
if (ok)
return (ok);
} // end if
} // end if
if (_loc2 < limits && wa[_loc1][_loc2 + 1] == 0)
ok = recur(_loc1, _loc2 + 1, tox, _loc3);
if (ok)
return (ok);
} // end if
} // end if
if (_loc1 > 1 && wa[_loc1 - 1][_loc2] == 0)
ok = recur(_loc1 - 1, _loc2, tox, _loc3);
if (ok)
return (ok);
} // end if
} // end if
else if (_loc1 > tox && _loc2 <= _loc3)
if (_loc1 > 1 && wa[_loc1 - 1][_loc2] == 0)
ok = recur(_loc1 - 1, _loc2, tox, _loc3);
if (ok)
return (ok);
} // end if
} // end if
if (_loc2 < limits && wa[_loc1][_loc2 + 1] == 0)
ok = recur(_loc1, _loc2 + 1, tox, _loc3);
if (ok)
return (ok);
} // end if
} // end if
if (_loc1 < limits && wa[_loc1 + 1][_loc2] == 0)
ok = recur(_loc1 + 1, _loc2, tox, _loc3);
if (ok)
return (ok);
} // end if
} // end if
if (_loc2 > 1 && wa[_loc1][_loc2 - 1] == 0)
ok = recur(_loc1, _loc2 - 1, tox, _loc3);
if (ok)
return (ok);
} // end if
} // end if
else
if (_loc2 < limits && wa[_loc1][_loc2 + 1] == 0)
ok = recur(_loc1, _loc2 + 1, tox, _loc3);
if (ok)
return (ok);
} // end if
} // end if
if (_loc1 < limits && wa[_loc1 + 1][_loc2] == 0)
ok = recur(_loc1 + 1, _loc2, tox, _loc3);
if (ok)
return (ok);
} // end if
} // end if
if (_loc2 > 1 && wa[_loc1][_loc2 - 1] == 0)
ok = recur(_loc1, _loc2 - 1, tox, _loc3);
if (ok)
return (ok);
} // end if
} // end if
if (_loc1 > 1 && wa[_loc1 - 1][_loc2] == 0)
ok = recur(_loc1 - 1, _loc2, tox, _loc3);
if (ok)
return (ok);
} // end else if
} // end else if
} // end else if
--len;
return (ok);
} // end else if
} // End of the function
function way(fromx, fromy, tox, toy)
len = 0;
ok = false;
for (i = 1; i <= limits; i++)
for (j = 1; j <= limits; j++)
wa[i][j] = ma[i][j];
} // end of for
} // end of for
wa[fromx][fromy] = 0;
return (recur(fromx, fromy, tox, toy));
} // End of the function
function init()
var _loc2 = _root;
scorerule = new Array(40, 50, 60, 70, 80);
score = 0;
totalballs = 7;
nextballs = 3;
limits = 9;
kkk = 1000;
xnext = next1._x - 19;
ynext = next1._y + 21;
ballsput = 0;
drum = new Array();
wa = new Array();
st = new Array();
for (i = 1; i <= limits * limits; i++)
drum[i] = new Array(0, 0);
} // end of for
for (i = 1; i <= limits * limits; i++)
wa[i] = new Array(limits + 1);
} // end of for
selected = new Array(0, 0);
ma = new Array();
for (i = 1; i <= limits; i++)
ma[i] = new Array(limits + 1);
for (j = 1; j <= limits; j++)
ma[i][j] = 0;
_loc2.inGame["balls" + i + j].x = i;
_loc2.inGame["balls" + i + j].y = j;
} // end of for
} // end of for
nextarray = new Array();
for (i = 1; i <= nextballs; i++)
nextarray[i] = new Array(0, 0, 0);
attachMovie("balls", "nextballs" + i, kkk++);
_loc2.inGame["nextballs" + i]._x = xnext;
_loc2.inGame["nextballs" + i]._y = ynext + i * 60;
_loc2.inGame["nextballs" + i]._xscale = 140;
_loc2.inGame["nextballs" + i]._yscale = 140;
} // end of for
actioner2.swapDepths(20000);
} // End of the function
function generatenext()
var _loc2 = _root;
if (ballsput <= 81 - nextballs)
togenerate = nextballs;
else
togenerate = 81 - ballsput;
} // end else if
for (i = 1; i <= togenerate; i++)
do
x = random(limits) + 1;
y = random(limits) + 1;
} while (ma[x][y] != 0)
nextarray[i][0] = random(totalballs) + 1;
nextarray[i][1] = x;
nextarray[i][2] = y;
_loc2.inGame["nextballs" + i].gotoAndStop(nextarray[i][0] + 1);
_loc2.inGame["nextballs" + i].buton._visible = false;
} // end of for
for (i = togenerate + 1; i <= nextballs; i++)
_loc2.inGame["nextballs" + i].gotoAndStop("blank");
} // end of for
nextballs3.buton._visible = false;
} // End of the function
function putnextballs()
var _loc2 = _root;
_loc2.inSFX.grow.start();
if (ballsput <= 81 - nextballs)
togenerate = nextballs;
else
togenerate = 81 - ballsput;
} // end else if
for (i = 1; i <= togenerate; i++)
if (ma[nextarray[i][1]][nextarray[i][2]] == 0)
ma[nextarray[i][1]][nextarray[i][2]] = nextarray[i][0];
else
do
x = random(limits) + 1;
y = random(limits) + 1;
} while (ma[x][y] != 0)
nextarray[i][1] = x;
nextarray[i][2] = y;
ma[nextarray[i][1]][nextarray[i][2]] = nextarray[i][0];
} // end else if
_loc2.inGame["balls" + nextarray[i][1] + nextarray[i][2]].gotoAndStop(nextarray[i][0] + 1);
line(nextarray[i][1], nextarray[i][2], ma[nextarray[i][1]][nextarray[i][2]]);
} // end of for
ballsput = ballsput + togenerate;
if (ballsput == limits * limits)
_loc2.fEndGame();
} // end if
} // End of the function
function line(x, y, c)
var _loc4 = 0;
var _loc6 = new Array();
var _loc5 = new Array();
var _loc2 = new Array();
var _loc3 = new Array();
for (var _loc4 = 1; _loc4 <= limits; ++_loc4)
_loc6[_loc4] = new Array(2);
_loc5[_loc4] = new Array(2);
_loc2[_loc4] = new Array(2);
_loc3[_loc4] = new Array(2);
} // end of for
var _loc7 = 0;
fl = 0;
for (var _loc4 = 1; _loc4 <= limits; ++_loc4)
if (ma[_loc4][y] == c)
if (fl == 0)
++_loc7;
_loc6[_loc7][0] = _loc4;
_loc6[_loc7][1] = y;
} // end if
continue;
} // end if
if (_loc7 < 4)
_loc7 = 0;
continue;
} // end if
fl = 1;
} // end of for
st1 = 0;
fl = 0;
for (var _loc4 = 1; _loc4 <= limits; ++_loc4)
if (ma[x][_loc4] == c)
if (fl == 0)
++st1;
_loc5[st1][0] = x;
_loc5[st1][1] = _loc4;
} // end if
continue;
} // end if
if (st1 < 4)
st1 = 0;
continue;
} // end if
fl = 1;
} // end of for
fl = 0;
st2 = 0;
imin = x;
for (jmin = y; imin > 1 && jmin > 1; jmin--)
--imin;
} // end of for
imax = x;
for (jmax = y; imax < limits && jmax < limits; jmax++)
++imax;
} // end of for
if (imin == 1)
for (var _loc4 = imin; _loc4 <= imax; ++_loc4)
if (ma[_loc4][jmin + _loc4 - 1] == c)
if (fl == 0)
++st2;
_loc2[st2][0] = _loc4;
_loc2[st2][1] = jmin + _loc4 - 1;
} // end if
continue;
} // end if
if (st2 < 4)
st2 = 0;
continue;
} // end if
fl = 1;
} // end of for
else
for (var _loc4 = jmin; _loc4 <= jmax; ++_loc4)
if (ma[imin + _loc4 - 1][_loc4] == c)
if (fl == 0)
++st2;
_loc2[st2][0] = imin + _loc4 - 1;
_loc2[st2][1] = _loc4;
} // end if
continue;
} // end if
if (st2 < 4)
st2 = 0;
continue;
} // end if
fl = 1;
} // end of for
} // end else if
fl = 0;
st3 = 0;
imin = x;
for (jmin = y; imin > 1 && jmin < limits; jmin++)
--imin;
} // end of for
imax = x;
for (jmax = y; imax < limits && jmax > 1; jmax--)
++imax;
} // end of for
if (imin == 1)
for (var _loc4 = imin; _loc4 <= imax; ++_loc4)
if (ma[_loc4][jmin - _loc4 + 1] == c)
if (fl == 0)
++st3;
_loc3[st3][0] = _loc4;
_loc3[st3][1] = jmin - _loc4 + 1;
} // end if
continue;
} // end if
if (st3 < 4)
st3 = 0;
continue;
} // end if
fl = 1;
} // end of for
else
for (var _loc4 = jmax; _loc4 <= jmin; ++_loc4)
if (ma[jmin - _loc4 + jmax][_loc4] == c)
if (fl == 0)
++st3;
_loc3[st3][0] = jmin - _loc4 + jmax;
_loc3[st3][1] = _loc4;
} // end if
continue;
} // end if
if (st3 < 4)
st3 = 0;
continue;
} // end if
fl = 1;
} // end of for
} // end else if
destroyed = 0;
if (_loc7 >= 4)
for (var _loc4 = 1; _loc4 <= _loc7; ++_loc4)
pDieList.push(_root.inGame["balls" + _loc6[_loc4][0] + _loc6[_loc4][1]]);
ma[_loc6[_loc4][0]][_loc6[_loc4][1]] = 0;
} // end of for
destroyed = destroyed + _loc7;
score = score + scorerule[_loc7 - 4];
} // end if
if (st1 >= 4)
for (var _loc4 = 1; _loc4 <= st1; ++_loc4)
pDieList.push(_root.inGame["balls" + _loc5[_loc4][0] + _loc5[_loc4][1]]);
ma[_loc5[_loc4][0]][_loc5[_loc4][1]] = 0;
} // end of for
destroyed = destroyed + st1;
score = score + scorerule[st1 - 4];
} // end if
if (st2 >= 4)
for (var _loc4 = 1; _loc4 <= st2; ++_loc4)
pDieList.push(_root.inGame["balls" + _loc2[_loc4][0] + _loc2[_loc4][1]]);
ma[_loc2[_loc4][0]][_loc2[_loc4][1]] = 0;
} // end of for
destroyed = destroyed + st2;
score = score + scorerule[st2 - 4];
} // end if
if (st3 >= 4)
for (var _loc4 = 1; _loc4 <= st3; ++_loc4)
pDieList.push(_root.inGame["balls" + _loc3[_loc4][0] + _loc3[_loc4][1]]);
ma[_loc3[_loc4][0]][_loc3[_loc4][1]] = 0;
} // end of for
destroyed = destroyed + st3;
score = score + scorerule[st3 - 4];
} // end if
if (destroyed >= 10)
--destroyed;
} // end if
ballsput = ballsput - destroyed;
scoretxt = score;
if (destroyed != 0)
fDieListSetup();
_root.inSFX.pickup.start();
} // end if
return (destroyed != 0);
} // End of the function
function fromactioner(fromx, fromy, tox, toy)
var _loc3 = toy;
var _loc2 = tox;
var _loc4 = fromy;
ma[_loc2][_loc3] = ma[fromx][_loc4];
ma[fromx][_loc4] = 0;
_root.inGame["balls" + fromx + _loc4].gotoAndStop("blank");
_root.inGame["balls" + fromx + _loc4].ball.gotoAndStop(1);
_root.inGame["balls" + _loc2 + _loc3].gotoAndStop(ma[_loc2][_loc3] + 1);
_root.inGame["balls" + _loc2 + _loc3].ball.gotoAndStop(1);
selected[0] = 0;
selected[1] = 0;
line(_loc2, _loc3, ma[_loc2][_loc3]);
actioner.gotoAndPlay(2);
} // End of the function
function move(fromx, fromy, tox, toy)
var _loc2 = _root;
var _loc3 = false;
if (way(fromx, fromy, tox, toy))
_loc3 = true;
fromactioner(fromx, fromy, tox, toy);
_loc2.inGame["balls" + _loc2.inGame.drum[ii][0] + _loc2.inGame.drum[ii][1]].gotoAndStop("blank");
} // end if
return (_loc3);
} // End of the function
function movetest(fromx, fromy, tox, toy)
var _loc1 = false;
if (way(fromx, fromy, tox, toy))
_loc1 = true;
} // end if
return (_loc1);
} // End of the function
pLastClicked = "none";
pLastClickedType = 1;
pClicked = false;
pDieList = [];
init();
generatenext();
putnextballs();
generatenext();
stop ();Zhanbolat,
In theory, conversion of this code is not difficult, especially because it is clear what the logic is designed to do. The issue is that you will not have an expected result once only this code is converted in isolation. This puppy uses some other objects that are written in AS2 including entities in the FLA library.
In short, it looks like this application needs a total overhaul at every level in order for it to properly function as an AS3 program.
With that said, although this is, again, not a difficult task, it is unlikely to find someone to do it for free. You may have a better luck if you start conversion yourself and post focused questions as you go. -
Trying to convert AS2 code to AS3
I had this code in AS2 and it worked I am trying to convert
it to AS3 however and am stuck Please Help!!
Thanks,
Alexjust add your click listeners and handlers:
-
Convert onEnterFrame Event Handler AS2 code into AS3
My code of AS2 is given below. I do not know what event handler type is used and which event handler is used in AS3.
onEnterFrame = function(){this.addEventListener(Event.ENTER_FRAME,onEf);
// "this" references the movie itself, you can also use "stage" or the instance name of an object on the stage
// look up addEventListener in the online help. This method takes two arguments, the event that you want to "listen" for and the name of the function to execute when the event occurs.
// the function that will be called when the event occurs. It takes one argument that corresponds with the first argument of the addEventListener method.
function onEf(event:Event):void { -
Please help me to convert this code..............
for (i = 1; i <= nextballs; i++)
nextarray[i] = new Array(0, 0, 0);
attachMovie("balls", "nextballs" + i, kkk++);
_loc2.inGame["nextballs" + i]._x = xnext;
_loc2.inGame["nextballs" + i]._y = ynext + i * 60;
_loc2.inGame["nextballs" + i]._xscale = 140;
_loc2.inGame["nextballs" + i]._yscale = 140;var nextballs:int = 4; // <- nextballs needs to be defined, though need not be defined this way.
for (var i:int = 1; i <= nextballs; i++)
var nextarray[i]:Array = new Array(0, 0, 0);
this["nextballs"+i]=new balls();
addChild(this["ballballs"+i]);
// xnext and ynext need to be defined and should probably be updated in this for-loop
// this part of your code makes no sense given your attachMovie() statement.
_loc2.inGame["nextballs" + i].x = xnext;
_loc2.inGame["nextballs" + i].y = ynext + i * 60;
_loc2.inGame["nextballs" + i].scaleX = 1.4;
_loc2.inGame["nextballs" + i].scaleY = 1.4; -
How to convert this random pos AS2 code to AS3?
Hi! I'm doing a sort of screensaver and need to random the logo all over the screen. In ActionScript 2 it was easy, just paste some code to the object and it works. The things to do this is total different in ActionScript 3 and I can't figure out how to solve this. It would be nice if someone could take a look at my very simple example and point me in the right direction. Maybe there is some example out there done in AS3?
I can't figure out how to post fla so I renamed it to jpg. Just change the extension to fla again...
Regards / JimmySORRY FOR THE LATE RESPONSE I WAS NOT ONLINE FOR THREE DAYS....
I am still not able to download the file.
What you can do is enclose the code which is called directly on the timeline in a function and call that function whenever required.
You can also send the file on my mail ID at [email protected] [Make sure you zip it and the version is saved in CS3] -
I never learnt as2 and I just purchased a fla file from a stock sight thinking it was in as3 and it isn't!!! doh
can anyone help me convert this from as2 to as3:
stop();
import flash.filters.*;
//--------------variables to change--------------------------//
//set this value to true if you want sparkles to be created from the mouse
//and false if you want automatic sparkles
var createSparklesFromAnyMouse:Boolean = true;
//set to true if you want sparkles to stop being created when the mouse
//is still
var createSparklesFromClick:Boolean = false;
//modify the size of the sparkles
var maxSparkSize:Number = 18;
var minSparkSize:Number = 8;
//increase this value to shorten the life, 0 to live forever
var fadeSpeed:Number = 10;
//the speed the sparkles fall, higher number quicker the speed
var speed:Number = 1;
//choose whether you want the sparkle colour to be random
var randomColour:Boolean = true;
//if you don't want a random colour pick a default colour
defaultColour = 0xFFffFF;
//do not modify code below here...
var sparkle:Number = 0;
var mousePosX:Number;
var mousePosY:Number;
var whichBat:Number;
var count:Number = 0;
this.createEmptyMovieClip("empty",this.getNextHighestDepth());
howToCreate();
function howToCreate() {
if (createSparklesFromClick == true) {
trace("create sparkles every time I click the mouse");
//create sparkles from mouse clicks
activateClick();
} else {
if (createSparklesFromAnyMouse == true) {
trace("create sparkles from the mouse");
//create sparkles from the mouse
this.onEnterFrame = function() {
createSparkle();
createSparkle();
} else {
trace("create sparkles every time I move the mouse");
//create sparkles ONLY when the mouseMoves
createWhenMoving();
function createWhenMoving() {
this.onEnterFrame = function() {
if (mousePosX != _root._xmouse && mousePosY != _root._ymouse) {
createSparkle();
mousePosX = _root._xmouse;
mousePosY = _root._ymouse;
function activateClick() {
empty.onMouseDown = function() {
this.onEnterFrame = function() {
createSparkle();
empty.onMouseUp = function() {
delete this.onEnterFrame;
function createSparkle() {
movingSparkle = this.attachMovie("colouredSparkle", "s_"+sparkle, sparkle);
movingSparkle2 = this.attachMovie("colouredSparkle", "ss_"+sparkle, sparkle+100);
sparkle++;
if(sparkle>100){
sparkle = 0;
setParams(movingSparkle);
setParams(movingSparkle2);
function setParams (movingSparkle){
movingSparkle._x = _root._xmouse+randRange(-8, 8);
movingSparkle._y = _root._ymouse+randRange(-15, 0);
movingSparkle._xscale = movingSparkle._yscale=Math.random()*maxSparkSize+minSparkSize;
movingSparkle._rotation = randRange(0, 360);
if (randomColour == true) {
col = Math.round(Math.random()*0xFFFFFF);
} else {
col = defaultColour;
colouredFill = new Color(movingSparkle.colour_mc);
colouredFill.setRGB(col);
colouredFill = new Color(movingSparkle.white_mc);
colouredFill.setRGB(col);
moveSparkle(movingSparkle);
function moveSparkle(movingSparkle) {
var ySpeed = randRange(0, speed);
var rot = randRange(-15, 15);
var blurX = randRange(2, 5);
var blurY = blurX;
var blurFilter = new BlurFilter(blurX, blurY, 3);
movingSparkle.white_mc.filters = [blurFilter];
movingSparkle._alpha = randRange(85, 100);
var alphaDrop = randRange(1, fadeSpeed);
movingSparkle.onEnterFrame = function() {
//change speed
this._y += ySpeed;
//change rotation
this._rotation = this._rotation+rot;
//make it smaller
this._xscale = this._yscale=this._xscale*0.98;
//fade the sparkle
this._alpha = this._alpha-alphaDrop;
//remove the movieclip if it get tiny
if (this._alpha<10) {
this.removeMovieClip();
delete this.onEnterFrame();
if (this._height<4) {
this.removeMovieClip();
delete this.onEnterFrame();
function setColour(mc, col) {
colourIt = new Color(mc);
colourIt.setRGB(col);
function randRange(min:Number, max:Number):Number {
var randomNum:Number = (Math.random()*(max-min))+min;
return randomNum;Zhanbolat,
In theory, conversion of this code is not difficult, especially because it is clear what the logic is designed to do. The issue is that you will not have an expected result once only this code is converted in isolation. This puppy uses some other objects that are written in AS2 including entities in the FLA library.
In short, it looks like this application needs a total overhaul at every level in order for it to properly function as an AS3 program.
With that said, although this is, again, not a difficult task, it is unlikely to find someone to do it for free. You may have a better luck if you start conversion yourself and post focused questions as you go.
Maybe you are looking for
-
How can I get one button to perform two functions?
here's what I want: have one button with a + that opens a pop up using a MSO and then turn that button to a X to close the pop up changing states on the MSO
-
Problem in Transporting a BAPI structure
How to transport the extended BAPI structure from D system to Q system. BAPI structure is extended by appending a new structure with two fields in Development system. I want to transport it to Q. But there is no transport request for this change. Sin
-
Uninstalling the latest security updates?
I'm having a lot problems with my built-in iSight on BOTH of my iMacs. Is it possible to uninstall the latest update? If so, how? Thanks for your help. Patrick
-
The ringer on my Iphone is not working...any suggestions
the ringer on my phone is not working. I've reset the phone, but it still will not ring. any other suggestions?
-
I don't recognize a device in share my location from in find my friends
in "Share my Locationi from" in Find my Friends, there is a device listed I dont recognize, called Homie. I delete it but it just returns a few seconds later. how do I find out what device this is and delete it permanently if I so choose?