Hello - I do have an override public function in my Player class. My entire player class is as follows:
package;
import Planet;
import flixel.FlxG;
import flixel.FlxSprite;
import flixel.math.FlxAngle;
import flixel.util.FlxColor;
class Player extends FlxSprite
{
var angleFromPlanet:Float;
var planet:Planet;
var speed:Float = 1;
public function new(_angle, _planet)
{
super(0, 0);
angleFromPlanet = _angle;
planet = _planet;
loadGraphic("assets/images/Player.png", true, 16, 16);
animation.add("Idle", [0, 1], 2, false);
animation.add("WalkLeft", [6, 7, 8, 9], 10, false, true);
animation.add("WalkRight", [6, 7, 8, 9], 10, false, false);
FlxG.camera.follow(this);
}
override public function update(elapsed:Float):Void
{
super.update(elapsed);
var leftKey = FlxG.keys.anyPressed(["LEFT", "A"]);
var rightKey = FlxG.keys.anyPressed(["RIGHT", "D"]);
var shootKey = FlxG.keys.anyPressed(["UP", "W", "SPACE"]);
if (leftKey)
{
angleFromPlanet -= FlxG.elapsed * speed;
animation.play("WalkLeft");
}
else if (rightKey)
{
angleFromPlanet += FlxG.elapsed * speed;
animation.play("WalkRight");
}
else
{
animation.play("Idle");
}
if (shootKey) {}
calculatePosition();
}
function calculatePosition()
{
x = Math.cos(angleFromPlanet - 90 * Math.PI / 180) * (planet.planetRadius - 4 + 8) + planet.getMidpoint().x - 8;
y = Math.sin(angleFromPlanet - 90 * Math.PI / 180) * (planet.planetRadius - 4 + 8) + planet.getMidpoint().y - 8;
angle = FlxAngle.angleBetween(planet, this, true) + 90;
}
}