1
0
Fork 0
mirror of https://github.com/ninjamuffin99/Funkin.git synced 2025-03-23 10:29:29 +00:00

offset bullshit and pico

This commit is contained in:
Cameron Taylor 2021-03-13 20:53:57 -05:00
parent 388a3f8aab
commit 15f7b5e2d2
3 changed files with 39 additions and 10 deletions

View file

@ -4,6 +4,7 @@ import flixel.FlxG;
import flixel.FlxSprite;
import flixel.animation.FlxBaseAnimation;
import flixel.graphics.frames.FlxAtlasFrames;
import haxe.io.Path;
using StringTools;
@ -266,6 +267,18 @@ class Character extends FlxSprite
flipX = true;
case 'pico-speaker':
frames = Paths.getSparrowAtlas('characters/picoSpeaker');
quickAnimAdd('shoot1', "Pico shoot 1");
quickAnimAdd('shoot2', "Pico shoot 2");
quickAnimAdd('shoot3', "Pico shoot 3");
quickAnimAdd('shoot4', "Pico shoot 4");
// here for now, will be replaced later for less copypaste
loadOffsetFile(curCharacter);
playAnim('shoot1');
case 'bf':
var tex = Paths.getSparrowAtlas('BOYFRIEND');
frames = tex;
@ -521,15 +534,7 @@ class Character extends FlxSprite
animation.addByPrefix('singUPmiss', 'Tankman UP note MISS', 24, false);
animation.addByPrefix('singDOWNmiss', 'Tankman DOWN note MISS', 24, false);
addOffset('idle');
addOffset("singUP", 24, 56);
addOffset("singRIGHT", -1, -7);
addOffset("singLEFT", 100, -14);
addOffset("singDOWN", 98, -90);
addOffset("singUPmiss", 24, 56);
addOffset("singRIGHTmiss", -1, -7);
addOffset("singLEFTmiss", 100, -14);
addOffset("singDOWNmiss", 98, -90);
loadOffsetFile(curCharacter);
playAnim('idle');
@ -561,9 +566,20 @@ class Character extends FlxSprite
}
}
function quickAnimAdd(name:String, prefix:String)
{
animation.addByPrefix(name, prefix, 24, false);
}
private function loadOffsetFile(offsetCharacter:String)
{
var daFile:String = Paths.file("characters/" + offsetCharacter + "Offsets.txt");
var daFile:Array<String> = CoolUtil.coolTextFile(Paths.file("images/characters/" + offsetCharacter + "Offsets.txt"));
for (i in daFile)
{
var splitWords:Array<String> = i.split(" ");
addOffset(splitWords[0], Std.parseInt(splitWords[1]), Std.parseInt(splitWords[2]));
}
}
override function update(elapsed:Float)
@ -649,6 +665,8 @@ class Character extends FlxSprite
else
playAnim('danceLeft');
}
case 'pico-speaker':
playAnim('shoot' + FlxG.random.int(1, 4), true);
case 'spooky':
danced = !danced;

View file

@ -21,6 +21,7 @@ class HealthIcon extends FlxSprite
animation.add('bf-pixel', [21, 21], 0, false, isPlayer);
animation.add('spooky', [2, 3], 0, false, isPlayer);
animation.add('pico', [4, 5], 0, false, isPlayer);
animation.add('pico-speaker', [4, 5], 0, false, isPlayer);
animation.add('mom', [6, 7], 0, false, isPlayer);
animation.add('mom-car', [6, 7], 0, false, isPlayer);
animation.add('tankman', [8, 9], 0, false, isPlayer);

View file

@ -560,9 +560,19 @@ class PlayState extends MusicBeatState
if (curStage == 'limo')
gfVersion = 'gf-car';
if (SONG.song.toLowerCase() == 'stress')
gfVersion = 'pico-speaker';
gf = new Character(400, 130, gfVersion);
gf.scrollFactor.set(0.95, 0.95);
switch (gfVersion)
{
case 'pico-speaker':
gf.x -= 50;
gf.y -= 200;
}
dad = new Character(100, 100, SONG.player2);
var camPos:FlxPoint = new FlxPoint(dad.getGraphicMidpoint().x, dad.getGraphicMidpoint().y);