-
Object Trail Problem
Hello,
I have a problem with a trail effect I have been working on.
The effect works perfectly fine when I attach it to the _root._xmouse & _root._ymouse values.. but when I use the _x _ y of an object that is moving using actionscript i.e.
onClipEvent(enterFrame){
this._y += 2
}
the effect doesn't show up. But I want it to. T_T
However, if I change this._y += 2 to use the mouse _y value i.e. this._y = _root._ymouse, it reappears!!
The script for the trail used to be Actionscript 1, but I since got it to work using Actionscript 2... ish.
It was working perfectly on the object in AS1, but in AS2 it doesn't show up and I have the occasional break in the line it creates.
Any ideas would be great thanks!
Last edited by idc2120; 07-08-2010 at 07:02 PM.
Reason: Forgot info
-
var x:Number = 1; x /= 0;
can you post more of your code?
-
Lol I totally forgot about this post.
I managed to solve my initial problem - it was because I was setting the scale of the trail to 0 when at least one axis remained constant - I.e. if the object was only moving down the trail wouldn't show up.
However, I've stumbled across a new problem.
Originally this script occured over 3 frames on the root timeline, but ideally I wanted it to be contained within one frame or in a class. When I came to do this however I've been getting a whole host of compiler errors - such as
"Type Mismatch" and the infinite While Loop of doom.
Here's is my class:
class Trail extends MovieClip {
var myOwner, n1, taillen, x0, y0, x1, y1, i, StepCounter, Target;
function onLoad() {
myOwner = _root.clipToRemove;
n1 = 1;
taillen = 15;
}
function onEnterFrame() {
this._x = myOwner._x;
this._y = myOwner._y;
x0 = this._x;
y0 = this._y;
duplicateMovieClip("line","/line"+n1,n1);
Target = _root["/line"+n1];
Target._x = x1;
Target._y = y1;
Target._xscale = (x0-x1);
if (Target._xscale == 0) {
Target._xscale = 1;
}
Target._yscale = (y0-y1);
if (Target._yscale == 0) {
Target._yscale = 1;
}
x1 = x0;
y1 = y0;
n1 = n1+1;
if (n1>taillen) {
n1 = 1;
}
if (this.StepCounter) {
this.StepCounter--;
} else {
// do updates
i = 1;
while (i<=taillen) {
_root["line"+i]._x = _root["line"+i]._x+0;
_root["line"+i]._y = _root["line"+i]._y-0;
i = i+1;
}
this.StepCounter = 10;
}
}
}
It's currently gets a "Type Mismatch" error.
If I mess around with the duplicateMovieClip() function... for instance replace it with something like _root.attachMovie() which I would normally use it manages to get to the While Loop and then causes a "Do you want to abort ...etc"
Any ideas would be great, thanks!
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|