ActionScript 3.0 :: Variables Not Changing To New Location Coordinates
Nov 4, 2009
I have a simple Actionscript 3 project. The code is on the timeline:
ActionScript Code:
import pti.dmutility.layout.ConfigElement;
//this Class simply extends the fl.controls.Button with variables
Then I put some instances into the stage, and make them Drag&Drop. Here is the Dragging function. I want to remember the item's puck up position when clicked, I use ConfigElement's OldX and OldY properties:
ActionScript Code:
function dragStarterItem(e:MouseEvent):void{
var item = e.target;
item.OldX = item.x;
item.OldY = item.y;
item.startDrag();
item.addEventListener(MouseEvent.MOUSE_UP, dragStopperItem);
}
When I click on the item, the OldX and OldY gets the actual position of the item, BUT after dropping it somewhere else, and picking up it again, the OldX and OldY is still the same! Holds the initial position, and not changing to it's new location coordinates. Every instance remembers it's initial position only. Why not change every time I click? Why remembering the first click's position only?
I am trying to swapping a movie clip with another movie clip keeping the x y coordinates in the same location as the original. This is to be done within a case statement. [code]...
I have a task: I need to place about 100 sprites on one canvas (with prepared grid on it). I need to place them as invisible (circles) stones, on the board, and make visible only on mouseover. The problem I come across is following, I can't place those objects accurately into the nodes on the grid.
I have a string of about 5 movieclips that are tweened so that when you click left or right they slide in that direction. When you click on the movieclips themselves I want them to:
on mouse down - move to (y-5) on mouse-up - move back (y+5)
this all works fine, however after I have clicked on one of the movieclips to make it jump, when I click left or right to slide them all over again they don't slide with the rest of the clips anymore?
I was thinking that it will be an easy task but something is not right. Here is what I am trying to do. I want to be able to run a function if the mouse is moved over certain areas of the movie clip on stage. Based on which area of the movie clip the mouse is moved I'd like to be able to trigger different behaviour. Below is the code which I was thinking shoud do it:
Code: var posY:Number; var mouseListener:Object = new Object(); mouseListener.onMouseMove = function() {
[Code].....
For some reason, the trace statement is ran always when the mouse moves regardless if it is over the movie clip or not. It also only shows the first trace statement. It is never chaged even if the mouse is in the different areas of the movie clip.
I was thinking that it will be an easy task but something is not right. Here is what I am trying to do. I want to be able to run a function if the mouse is moved over certain areas of the movie clip on stage. Based on which area of the movie clip the mouse is moved I'd like to be able to trigger different behaviour. Below is the code which I was thinking shoud do it:
ActionScript Code: var posY:Number; var mouseListener:Object = new Object();
When running a flash application that I run locallyie I get to it from a browser but with a file pathNow, most of the time the shared objects are stored in%APPDATA%MacromediaFlash Player#SharedObjectsXXXX#localWithNetBut occasionally, it reverts and thinks this application is running on localhost%APPDATA%MacromediaFlash Player#SharedObjectsXXXXlocalhostwhich means all previous saved settings are gone.I'm wondering if anyone knows how flash decides if the application is infact localhost or localWithNet (local with Network access)
When running a flash application that I run locally i.e., I get to it from a browser but with a file path file:///C:/Projects/test/bin-debug/Main.html#
Now, most of the time the shared objects are stored in %APPDATA%MacromediaFlash Player#SharedObjectsXXXX#localWithNet
But occasionally, it reverts and thinks this application is running on localhost %APPDATA%MacromediaFlash Player#SharedObjectsXXXXlocalhost Which means all previous saved settings are gone.
How flash decides if the application is infact localhost or localWithNet (local with Network access). Rebooting can sometimes make it revert, but I've also had it stay localhost for a few days then revert.
I was trying to convert global coordinates to local coordinates of a UIComplenent in my flex project using below code using below code
var gp:Point = new Point(e.stageX,e.stageY); //global point var lp:Point = uic.globalToLocal(gp); //local point
uic is UIComponent in which I have subclass of Sprite for drawing something I have set the sprite's mouseEnabled and mouseChildren to false to not interrupt the mouse event. above code is within uic's mousemove event where I was tracing the gp and lp gp was giving correct value and suprisingly lp was giving negetive values. when I move the move to the top left corner of uic i expect lp to be 0,0 but it is giving the -width of of uic. I broke my head for hours and ended up finding an alternate by using offsets. Infact my original code was much simpler like this which was same issue
var lp:Point = new Point(e.localX,e.localY);
I am not sure what exactly is causing this problem. the workaround had lot of issues and it creating a mess in my rest of the algorithms.Just now I found even more interesting thing (which is actually weird). for some reason I went and create a new lp2
var lp2:Point = new Point(e.localX,e.localY);
now surprisingly it was giving correct values as expected and I went back and changed the code as
var gp:Point = new Point(e.stageX,e.stageY); //global point var lp:Point = uic.globalToLocal(gp); //local point var lp2:Point = new Point(e.localX,e.localY); var lp2:Point = uic.globalToLocal(gp);
now it is expected to have all the lp, lp2 and lp3 variables to be same but weiredly lp two is giving wrong value and lp2 and lp3 were giving correct. I am suspecting using the variable lp has something to do. I am not sure about that but above proves it so right now I am using lp2.
I have a piece I'm working on that loads some copy to the front page. Then when you mouse over the navigation it plays the 2nd half of the MC that makes the copy fade. One of the navigation buttons works to bring the copy to fade back in by playing the first half of the MC.I'm declaring a boolean variable "intro" and setting it to true on load because the copy is visible.Then within my MC at the end (when the copy is done fading out) I set "intro" to false.Then if the user mouses over the nav it runs an "if" and if the intro is true it fades it out, and if its not it shouldn't do anything (stay invisible).The problem is it keeps playing the MC - so you mouse over the nav and it fades out, then you mouse over the nav again and it fades back in, then you mouse over the nav and it fades out again.
I borrowed a code to give my stage a falling snow effect, and I added on/off buttons. I'm sure there's another way around what I'm trying to do but I'm curious about going about this way. the variable in the code contains:var snowflakesCnt:Number = 180;I added EventListeners for the buttons but don' know the way about changing the variable to 0 and180 upon mouse click.
I'm trying to create a global variable that initially stores a 0.Then via a function will change the value of that global variable, and allow the other functions to access the new number. I have it working where it adds 1 to the variable, and stores the number 1 however, I cannot get the number to add up beyond 1.I have this in my first layer,frame.
_global.thisSound = 0; function PlaySound(){ temp = _global.thisSound;
OK this might take a wile to explain but ill give it a go. I'm trying to make a sort f upgrade menu for my Flash game (AS2) but I'm a bit stuck. Ok my char has got this action script on it.
That all works fine but what i want to do is make it that when you click a button the var speed will change. I can do that quite easily with this code
on(press){ _global.speed += 1 }
and that works fine two but what i want to do is have the button for upgrading the speed on a different frame (ie. the upgrade menu)
So on frame 1 is the moving char and there is a button linking frame 1 to frame 2 (upgrade menu) and on that frame it has the button for upgrading the var speed and then a button linking frame 2 back to one but it doesn't work. I think i no why because on the char is says onClipEvent(load){ _global.speed = 1 }
so that means that the var speed will revert back to 1 when you go back to the first frame.
I was reading the 'Isometric Transformations' tutorial by Danko Kozar and I have a few questions. I understand what all the code does, but not how it does it. First of all, how does the following code work:
transforms x,y,z coordinates into Flash x coordinate xFla = function (x, y, z) { // cartesian coordinates[code].....
I understand that it converts 3d coordinates to 2d coordinates, but I don't understand how. What numbers whould be punched into x, y, and z to acquire certain desired effects?Also, what's the difference between moveTo and lineTo:
red line style(1, "0xFF0000", 100); plot(0, 0, 0); draw(200, 0, 0);
Im making a little app in flash using papervision I want to make a regular movieClip show up in the same place as a papervision object. The coordinates seem like perspective is affecting the number displayed.
Inside I have: myText1=This is test 1. &myText2=This is test 2.
I tested it out with my dynamic text. If I made the variable myText1, it loaded the first line. If I made it myText2, it loaded the second line. All seemed to be fine.
I have a dynamic textbox, variable named names. I want to be able to change the variable in order to get it to load whichever line of text I want.
But that's not working. I've tried playing around with it in various ways, like names = eval(myText1);
and such, but nothing is effectively getting it to change. I've been trying to look it up and tried all the different ways people told other people to use, but it's not working for me.
Once I get this work I everything should fall into place easily.
The problem which i have is about using variables (specifically "myVar") defined in one as3 class file, in a separate class file. After searching for this via google and on this forum i have not (maybe because i have been searching for the wrong thing), so here is my situation which i think should be simple to solve:Inside a fla called "Main" i have 2 MovieClips. The first is called Main and has a class linking to the com/Main.as file which has this code:
My problem is the following:I've been working with Flash CS4, and have written a script which creates a dynamic menu based on an array variable. The array variable needs to be located in a separate .as file so that I can use a bash script to create the array on the fly, based on files found in a specific folder. It's taken me weeks of writing both the bash and actionscript to make everything work smoothly. Everything works except for one small thing: when I update the file containing the array, the menu in the .swf fails to update with it. In order to update the menu, I'm forced to re-publish from within Flash itself.
Previously I had used the "include" function to place the array within my script, but I then tried bringing it in with a package as a global variable. Neither method worked. It seems that the file is included during the publishing (that's probably common knowledge). So I'm wondering if there's a way to include the array, or build the array, in such a way that will allow the .swf to update with a simple refresh of the web page.
In the following code I would like to be able to change which object the code affects depending on which parameter name is passed to it:
Code: EventCentral.getInstance().addEventListener(ProjectEvent.SOME_EVENT, handleSomeEvent); function handleSomeEvent($event:ProjectEvent):void
[Code].....
I could write it all out with ifs and else ifs for each parameter but this code is already part of quite a large structure and it would be more elegant to be able to do it with re-usable code.
I'm trying to do it is particularly idiomatic to actionscript anyway
I am trying to make an object tween from its starting location to the location of a mouse click. I have a script, but it has a very annoying ease to it.I would LIKE the object to mantain a certain speed during while traveling from its starting location to the mouse click location.
I created a simple button that displays an error messeage: "error opening 'url" when I test the movie, but does play and opens in browser after publishing. However, it won't open in the browser in a different location. I pasted the html code in a web page but it doesn't work there nor opens in the browser in a differnet location from where it was originally published and saved. Why is that?
I have an array filled with several pre-existing variables. I want to loop through this array and update each of these variables that way, so that I don't have to do it line by line. My issue is that when I edit the variable inside the array, it is not changing the actual variable that was assigned to it. See Below for example.
Actionscript Code: var myVar1:uint = 1; var myVar2:uint = 2;var myVar3:uint = 3; var myArr:Array = new Array(myVar1, myVar2, myVar3); for(var a:uint = 0; a<myArr.length; a++){ if(a == 0){ myArr[a] = 9; }}trace(myVar1); // Still traces "1" instead of "9"
I'm working on a particle system, where each single particle is represented by a movie clip and has it's own behaviors, defined in the movie clip's code in a separate layer from the image. The particle creates local variables, such as it's gravity and color, in the first frame and then uses them to guide it's actions throughout it's lifetime (it fizzles out and dies, eventually).Frame 1 of particle_mc:
Code: var gravity:Number = 0; var color:Number = 2;
I am at work right now trying to create a power point for our Christmas party. I know I can do so much more with Flash than I can with any other power point program. Right now, I'm trying to figure out a way to load a list of names into one dynamic text field that changes at certain time intervals. I'm using ActionScript 2 right now b/c I haven't learned 3, yet. Is there a way for Flash to access a word document and load a name say, every minute? I know I could add a different variable name in front of each employee name, like content, content1, content2, but I have a list of like 300 names here. That would take up almost as much time as it would creating a slide for each name in Power Point.