hold up
This commit is contained in:
@@ -185,23 +185,35 @@ class Note extends FlxSprite
|
||||
|
||||
override function draw() {
|
||||
if (angleOffsets && Std.int(angle % 360) != 0) {
|
||||
// get default values
|
||||
var oldOffset = FlxPoint.get(offset.x, offset.y);
|
||||
// var oldOrigin = FlxPoint.get(origin.x, origin.y);
|
||||
|
||||
offset.set(
|
||||
(Math.cos(angle / 180 * Math.PI) * offset.x) + (Math.sin(angle / 180 * Math.PI) * offset.y),
|
||||
(Math.sin(angle / 180 * Math.PI) * offset.x) + (Math.cos(angle / 180 * Math.PI) * offset.y));
|
||||
// origin.set(
|
||||
// (-Math.cos(angle / 180 * Math.PI) * origin.x) + (-Math.sin(angle / 180 * Math.PI) * origin.y),
|
||||
// (-Math.sin(angle / 180 * Math.PI) * origin.x) + (-Math.cos(angle / 180 * Math.PI) * origin.y));
|
||||
// get offset pos without origin
|
||||
var pos = FlxPoint.get(offset.x - origin.x, offset.y - origin.y);
|
||||
|
||||
// updates sin and cos values for angle
|
||||
updateTrig();
|
||||
var anglePos = FlxPoint.get(
|
||||
(_cosAngle * pos.x) + (-_sinAngle * pos.y),
|
||||
(-_sinAngle * pos.x) + (_cosAngle * pos.y));
|
||||
|
||||
// applies new values
|
||||
x -= anglePos.x;
|
||||
y -= anglePos.y;
|
||||
offset.set(origin.x, origin.y);
|
||||
|
||||
// draw
|
||||
super.draw();
|
||||
|
||||
// reset values
|
||||
offset.set(oldOffset.x, oldOffset.y);
|
||||
// origin.set(oldOrigin.x, oldOrigin.y);
|
||||
x += anglePos.x;
|
||||
y += anglePos.y;
|
||||
|
||||
// put flxpoints back in the recycling pool
|
||||
oldOffset.put();
|
||||
// oldOrigin.put();
|
||||
pos.put();
|
||||
anglePos.put();
|
||||
return;
|
||||
}
|
||||
super.draw();
|
||||
|
||||
@@ -40,7 +40,10 @@ class Strum extends FlxSprite {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function updateNotePosition(daNote:Note) {
|
||||
if (!daNote.exists) return;
|
||||
|
||||
var offset = FlxPoint.get(daNote.isSustainNote ? ((Note.swagWidth - daNote.width) / 2) : 0, (Conductor.songPosition - daNote.strumTime) * (0.45 * FlxMath.roundDecimal(PlayState.instance.scrollSpeed, 2)));
|
||||
var realOffset = FlxPoint.get(0, 0);
|
||||
if (daNote.isSustainNote) offset.y -= Note.swagWidth / 2;
|
||||
@@ -48,8 +51,10 @@ class Strum extends FlxSprite {
|
||||
var noteAngle = getNotesAngle();
|
||||
daNote.angle = daNote.isSustainNote ? noteAngle : angle;
|
||||
if (Std.int(noteAngle % 360) != 0) {
|
||||
realOffset.x = (Math.cos(noteAngle / 180 * Math.PI) * offset.x) + (Math.sin(noteAngle / 180 * Math.PI) * offset.y);
|
||||
realOffset.y = (Math.sin(noteAngle / 180 * Math.PI) * offset.x) + (Math.cos(noteAngle / 180 * Math.PI) * offset.y);
|
||||
var noteAngleCos = Math.cos(noteAngle / 180 * Math.PI);
|
||||
var noteAngleSin = Math.sin(noteAngle / 180 * Math.PI);
|
||||
realOffset.x = (noteAngleCos * offset.x) + (noteAngleSin * offset.y);
|
||||
realOffset.y = (noteAngleSin * offset.x) + (noteAngleCos * offset.y);
|
||||
} else {
|
||||
realOffset.x = offset.x;
|
||||
realOffset.y = offset.y;
|
||||
|
||||
Reference in New Issue
Block a user