Bug #128263, was updated on 2001-Jan-10 00:30
Here is a current snapshot of the bug.
Project: DynAPI 2
Category: API Extentions
Status: Open
Resolution: None
Bug Group: None
Priority: 5
Submitted by: marstr
Assigned to : nobody
Summary: PathAnimation.stopAnimation() bug (& patch)
Details: dynapi/util/pathanim.js
a bug in PathAnimation.stopAnimation() causes the onpathstop-event to fire
before some values were set
(this.playing=false)
before you couldn't slide a DynLayer directly in a
onpathstop eventListener (while this.playing still
was true)
i've moved the line
if (this.dlyr != null) this.dlyr.invokeEvent("pathstop");
last in the method which solved the problem
PathAnimation.prototype.stopAnimation = function () {
if (this.pathPlaying && this.pathPlaying.resets && !this.cancelThread &&
this.dlyr!=null)
this.dlyr.moveTo(this.pathPlaying[0],this.pathPlaying[1]);
this.stop();
delete this.pathPlaying; // only deletes unstored path
this.playing = false;
if (this.dlyr != null) this.dlyr.invokeEvent("pathstop");
};
Follow-Ups:
Date: 2001-Jan-10 02:27
By: nobody
Comment:
Hi,
I'm glad to see pathanim tackled at last.What you're sayng is correct, and
is what I did in my modified pathanim (see:
http://www.resass.f2s.com/?menu=examples&node=1 or
http://www.richardinfo.f2s.com/?menu=examples&node=1
under "dynapi.util.pathanim.chained.html" when the servers up again)
But I also had to add the method stopAnimation now() , which is identical,
but without
invoke-ing pathstop, so the animation could be manually halted without
starting the next one from the onpathstop listener:
PathAnimation.prototype.stopAnimationNow = function () {
if (this.pathPlaying && this.pathPlaying.resets && !this.cancelThread &&
this.dlyr!=null)
this.dlyr.moveTo(this.pathPlaying[0],this.pathPlaying[1]);
this.stop();
delete this.pathPlaying; // only deletes unstored path
this.playing = false;
};
And I don't understand why slideBy() has been scrapped just because you
can do that manually aswell; you can do most of the
API manually, but it's easier if you can just call a method. And we still
use moveBy(), so slideBy() keeps consistency, and saves changing existing
webcode when you upgrade you're API.
DynLayer.prototype.slideBy = function(x,y,inc,ms) {
if (x==null) x = 0;
if (y==null) y = 0;
this.slideTo(this.x+x,this.y+y,inc,ms);
};
Cheers,
Richard :o
[EMAIL PROTECTED]
www.richardinfo.com
(Everything running on, and ported to the 19/12/2000 snapshot of DynAPI2)
-------------------------------------------------------
For detailed info, follow this link:
http://sourceforge.net/bugs/?func=detailbug&bug_id=128263&group_id=5757
_______________________________________________
Dynapi-Dev mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/mailman/listinfo/dynapi-dev