-
Notifications
You must be signed in to change notification settings - Fork 4
/
AttachedSprite.hx
51 lines (41 loc) · 1.13 KB
/
AttachedSprite.hx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package;
import flixel.FlxSprite;
using StringTools;
class AttachedSprite extends FlxSprite
{
public var sprTracker:FlxSprite;
public var xAdd:Float = 0;
public var yAdd:Float = 0;
public var angleAdd:Float = 0;
public var alphaAdd:Float = 0;
public var copyAngle:Bool = true;
public var copyAlpha:Bool = true;
public var copyVisible:Bool = false;
public function new(file:String, ?anim:String = null, ?library:String = null, ?loop:Bool = false)
{
super();
if(anim != null) {
frames = Paths.getSparrowAtlas(file, library);
animation.addByPrefix('idle', anim, 24, loop);
animation.play('idle');
} else {
loadGraphic(Paths.image(file));
}
antialiasing = ClientPrefs.globalAntialiasing;
scrollFactor.set();
}
override function update(elapsed:Float)
{
super.update(elapsed);
if (sprTracker != null) {
setPosition(sprTracker.x + xAdd, sprTracker.y + yAdd);
scrollFactor.set(sprTracker.scrollFactor.x, sprTracker.scrollFactor.y);
if(copyAngle)
angle = sprTracker.angle + angleAdd;
if(copyAlpha)
alpha = sprTracker.alpha + alphaAdd;
if(copyVisible)
visible = sprTracker.visible;
}
}
}