From 2672a1983b3f6f97f4f2dab7b6b7f6d7488f9c5e Mon Sep 17 00:00:00 2001 From: Snirozu <72814880+Snirozu@users.noreply.github.com> Date: Tue, 22 Apr 2025 18:10:57 +0200 Subject: [PATCH 1/3] fix not looped animation --- away3d/animators/states/AnimationClipState.hx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/away3d/animators/states/AnimationClipState.hx b/away3d/animators/states/AnimationClipState.hx index 014ac2d8..71afcb49 100644 --- a/away3d/animators/states/AnimationClipState.hx +++ b/away3d/animators/states/AnimationClipState.hx @@ -74,7 +74,7 @@ class AnimationClipState extends AnimationStateBase */ override public function update(time:Int):Void { - if (!_animationClipNode.looping) { + if (_animationClipNode.totalDuration > 0) { if (time > _startTime + _animationClipNode.totalDuration) time = _startTime + _animationClipNode.totalDuration; else if (time < _startTime) @@ -135,12 +135,12 @@ class AnimationClipState extends AnimationStateBase time += totalDuration; } - if (!looping && time >= totalDuration) { + if (totalDuration > 0 && time >= totalDuration) { notifyPlaybackComplete(); _currentFrame = lastFrame; _nextFrame = lastFrame; _blendWeight = 0; - } else if (!looping && time <= 0) { + } else if (totalDuration > 0 && time <= 0) { _currentFrame = 0; _nextFrame = 0; _blendWeight = 0; From 4cc74d9893746c951e2b4ae610d11978b44c6bac Mon Sep 17 00:00:00 2001 From: Snirozu <72814880+Snirozu@users.noreply.github.com> Date: Tue, 22 Apr 2025 18:12:08 +0200 Subject: [PATCH 2/3] fix playing an animation again --- away3d/animators/SpriteSheetAnimator.hx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/away3d/animators/SpriteSheetAnimator.hx b/away3d/animators/SpriteSheetAnimator.hx index c164e6cd..56eff35a 100644 --- a/away3d/animators/SpriteSheetAnimator.hx +++ b/away3d/animators/SpriteSheetAnimator.hx @@ -150,7 +150,7 @@ class SpriteSheetAnimator extends AnimatorBase implements IAnimator /** * @inheritDoc */ - public function play(name:String, transition:IAnimationTransition = null, ?offset:Float = null):Void + public function play(name:String, transition:IAnimationTransition = null, ?offset:Int = 0):Void { if (_activeAnimationName == name) return; @@ -165,7 +165,7 @@ class SpriteSheetAnimator extends AnimatorBase implements IAnimator _frame = cast(_activeState, SpriteSheetAnimationState).currentFrameData; _activeSpriteSheetState = cast(_activeState, ISpriteSheetAnimationState); - start(); + gotoAndPlay(offset); } /** From 36f85fa915892616d6e592d31e078791e52a155f Mon Sep 17 00:00:00 2001 From: Snirozu <72814880+Snirozu@users.noreply.github.com> Date: Mon, 12 May 2025 19:56:05 +0200 Subject: [PATCH 3/3] fix RectangleBitmapTexture crash --- away3d/textfield/RectangleBitmapTexture.hx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/away3d/textfield/RectangleBitmapTexture.hx b/away3d/textfield/RectangleBitmapTexture.hx index 76cd828c..9a701723 100644 --- a/away3d/textfield/RectangleBitmapTexture.hx +++ b/away3d/textfield/RectangleBitmapTexture.hx @@ -11,8 +11,9 @@ class RectangleBitmapTexture extends Texture2DBase { private var _bitmapData:BitmapData; public function new(bitmapData:BitmapData) { - this.bitmapData = bitmapData; super(); + + this.bitmapData = bitmapData; } public var bitmapData(get, set):BitmapData; @@ -22,7 +23,7 @@ class RectangleBitmapTexture extends Texture2DBase { private function set_bitmapData(value:BitmapData):BitmapData { if (value == _bitmapData) - return value; + return null; invalidateContent(); setSize(value.width, value.height);