cutscene character work in progress

This commit is contained in:
Cameron Taylor 2021-04-06 18:12:31 -04:00
parent b518fdad0a
commit a2ae9bbcd1
17 changed files with 233 additions and 8 deletions

View File

Before

Width:  |  Height:  |  Size: 6.7 MiB

After

Width:  |  Height:  |  Size: 6.7 MiB

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<TextureAtlas imagePath="gfHoldup-1.png">
<TextureAtlas imagePath="gfHoldup-0.png">
<!-- Created with Adobe Animate version 21.0.0.35450 -->
<!-- http://www.adobe.com/products/animate.html -->
<SubTexture name="GF STARTS TO TURN PART 1 instance 10000" x="3663" y="2044" width="910" height="674" frameX="-4" frameY="-3" frameWidth="918" frameHeight="680"/>

View File

Before

Width:  |  Height:  |  Size: 7.9 MiB

After

Width:  |  Height:  |  Size: 7.9 MiB

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<TextureAtlas imagePath="gfHoldup-2.png">
<TextureAtlas imagePath="gfHoldup-1.png">
<!-- Created with Adobe Animate version 21.0.0.35450 -->
<!-- http://www.adobe.com/products/animate.html -->
<SubTexture name="GF STARTS TO TURN PART 2 instance 10000" x="0" y="3890" width="918" height="680" frameX="-224" frameY="-445" frameWidth="1149" frameHeight="1130"/>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 MiB

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<TextureAtlas imagePath="gfHoldup-2.png">
<!-- Created with Adobe Animate version 21.0.0.35450 -->
<!-- http://www.adobe.com/products/animate.html -->
<SubTexture name="PICO ARRIVES PART 1 instance 10000" x="1267" y="2403" width="900" height="843" frameX="-119" frameY="0" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10001" x="2171" y="2403" width="900" height="843" frameX="-119" frameY="0" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10002" x="0" y="3160" width="920" height="817" frameX="-115" frameY="-26" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10003" x="5973" y="3160" width="920" height="817" frameX="-115" frameY="-26" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10004" x="0" y="2403" width="1263" height="753" frameX="-70" frameY="-149" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10005" x="5973" y="2401" width="1338" height="755" frameX="-70" frameY="-236" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10006" x="4603" y="2401" width="1366" height="784" frameX="-75" frameY="-207" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10007" x="3095" y="1619" width="1543" height="777" frameX="-75" frameY="-207" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10008" x="1550" y="1618" width="1541" height="781" frameX="-77" frameY="-203" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10009" x="3095" y="2400" width="1504" height="781" frameX="-77" frameY="-203" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10010" x="0" y="1618" width="1546" height="781" frameX="-77" frameY="-203" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10011" x="5628" y="1600" width="1546" height="797" frameX="-77" frameY="-187" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10012" x="5628" y="810" width="1719" height="786" frameX="-77" frameY="-198" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10013" x="3828" y="809" width="1796" height="806" frameX="0" frameY="-178" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10014" x="5828" y="0" width="1914" height="806" frameX="0" frameY="-178" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10015" x="1920" y="809" width="1904" height="805" frameX="-10" frameY="-179" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10016" x="0" y="809" width="1916" height="805" frameX="-10" frameY="-179" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10017" x="0" y="809" width="1916" height="805" frameX="-10" frameY="-179" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10018" x="3890" y="0" width="1934" height="805" frameX="-10" frameY="-179" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10019" x="3890" y="0" width="1934" height="805" frameX="-10" frameY="-179" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10020" x="1947" y="0" width="1939" height="805" frameX="-10" frameY="-179" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10021" x="1947" y="0" width="1939" height="805" frameX="-10" frameY="-179" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10022" x="0" y="0" width="1943" height="805" frameX="-10" frameY="-179" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10023" x="0" y="0" width="1943" height="805" frameX="-10" frameY="-179" frameWidth="1953" frameHeight="991"/>
</TextureAtlas>

View File

Before

Width:  |  Height:  |  Size: 3.0 MiB

After

Width:  |  Height:  |  Size: 3.0 MiB

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<TextureAtlas imagePath="gfHoldup-3.png">
<TextureAtlas imagePath="gfHoldup-2.png">
<!-- Created with Adobe Animate version 21.0.0.35450 -->
<!-- http://www.adobe.com/products/animate.html -->
<SubTexture name="PICO ARRIVES PART 2 instance 10000" x="5844" y="2727" width="1936" height="805" frameX="-597" frameY="-251" frameWidth="2533" frameHeight="1056"/>

View File

Before

Width:  |  Height:  |  Size: 3.5 MiB

After

Width:  |  Height:  |  Size: 3.5 MiB

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<TextureAtlas imagePath="gfHoldup-4.png">
<TextureAtlas imagePath="gfHoldup-3.png">
<!-- Created with Adobe Animate version 21.0.0.35450 -->
<!-- http://www.adobe.com/products/animate.html -->
<SubTexture name="PICO ARRIVES PART 2 POINT FIVE instance 10000" x="5036" y="0" width="2578" height="1144" frameX="0" frameY="0" frameWidth="2578" frameHeight="1199"/>

View File

Before

Width:  |  Height:  |  Size: 4.3 MiB

After

Width:  |  Height:  |  Size: 4.3 MiB

View File

@ -0,0 +1,5 @@
GF STARTS TO TURN PART 1 --- 0 0
GF STARTS TO TURN PART 2 --- -224 -443
PICO ARRIVES PART 1 --- -118 -180
PICO ARRIVES PART 2 --- -743 -335
PICO ARRIVES PART 2 POINT FIVE --- -741 -336

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 MiB

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<TextureAtlas imagePath="gfHoldup-22.png">
<!-- Created with Adobe Animate version 21.0.0.35450 -->
<!-- http://www.adobe.com/products/animate.html -->
<SubTexture name="PICO ARRIVES PART 1 instance 10000" x="1267" y="2403" width="900" height="843" frameX="-119" frameY="0" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10001" x="2171" y="2403" width="900" height="843" frameX="-119" frameY="0" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10002" x="0" y="3160" width="920" height="817" frameX="-115" frameY="-26" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10003" x="5973" y="3160" width="920" height="817" frameX="-115" frameY="-26" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10004" x="0" y="2403" width="1263" height="753" frameX="-70" frameY="-149" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10005" x="5973" y="2401" width="1338" height="755" frameX="-70" frameY="-236" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10006" x="4603" y="2401" width="1366" height="784" frameX="-75" frameY="-207" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10007" x="3095" y="1619" width="1543" height="777" frameX="-75" frameY="-207" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10008" x="1550" y="1618" width="1541" height="781" frameX="-77" frameY="-203" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10009" x="3095" y="2400" width="1504" height="781" frameX="-77" frameY="-203" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10010" x="0" y="1618" width="1546" height="781" frameX="-77" frameY="-203" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10011" x="5628" y="1600" width="1546" height="797" frameX="-77" frameY="-187" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10012" x="5628" y="810" width="1719" height="786" frameX="-77" frameY="-198" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10013" x="3828" y="809" width="1796" height="806" frameX="0" frameY="-178" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10014" x="5828" y="0" width="1914" height="806" frameX="0" frameY="-178" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10015" x="1920" y="809" width="1904" height="805" frameX="-10" frameY="-179" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10016" x="0" y="809" width="1916" height="805" frameX="-10" frameY="-179" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10017" x="0" y="809" width="1916" height="805" frameX="-10" frameY="-179" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10018" x="3890" y="0" width="1934" height="805" frameX="-10" frameY="-179" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10019" x="3890" y="0" width="1934" height="805" frameX="-10" frameY="-179" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10020" x="1947" y="0" width="1939" height="805" frameX="-10" frameY="-179" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10021" x="1947" y="0" width="1939" height="805" frameX="-10" frameY="-179" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10022" x="0" y="0" width="1943" height="805" frameX="-10" frameY="-179" frameWidth="1953" frameHeight="991"/>
<SubTexture name="PICO ARRIVES PART 1 instance 10023" x="0" y="0" width="1943" height="805" frameX="-10" frameY="-179" frameWidth="1953" frameHeight="991"/>
</TextureAtlas>

View File

@ -0,0 +1,96 @@
package;
import flixel.FlxG;
import flixel.FlxSprite;
import flixel.FlxState;
import flixel.addons.display.FlxGridOverlay;
import flixel.group.FlxGroup.FlxTypedGroup;
import flixel.math.FlxPoint;
import flixel.text.FlxText;
import flixel.util.FlxColor;
class CutsceneAnimTestState extends FlxState
{
var animShit:Array<String> = [
'GF STARTS TO TURN PART 1',
'GF STARTS TO TURN PART 2',
'PICO ARRIVES PART 1',
'PICO ARRIVES PART 2',
'PICO ARRIVES PART 2 POINT FIVE'
];
var coolPosition:FlxPoint = FlxPoint.get(0, 100);
var cutsceneGroup:CutsceneCharacter;
var curSelected:Int = 0;
var debugTxt:FlxText;
public function new()
{
super();
var gridBG:FlxSprite = FlxGridOverlay.create(10, 10);
gridBG.scrollFactor.set(0.5, 0.5);
add(gridBG);
debugTxt = new FlxText(1000, 20, 0, "", 24);
debugTxt.color = FlxColor.BLUE;
add(debugTxt);
for (i in 0...animShit.length)
{
var dummyLoader:FlxSprite = new FlxSprite();
dummyLoader.loadGraphic(Paths.image('cutsceneStuff/gfHoldup-' + i));
add(dummyLoader);
dummyLoader.alpha = 0.01;
dummyLoader.y = FlxG.height - 20;
}
cutsceneGroup = new CutsceneCharacter(0, 100, 'gfHoldup');
add(cutsceneGroup);
// createCutscene(0);
// createCutscene(1);
// createCutscene(2);
// createCutscene(3);
// createCutscene(4);
}
override function update(elapsed:Float)
{
if (FlxG.keys.pressed.SHIFT)
{
if (FlxG.keys.justPressed.UP)
curSelected -= 1;
if (FlxG.keys.justPressed.DOWN)
curSelected += 1;
}
else
{
var valueMulti:Float = 1;
if (FlxG.keys.pressed.SPACE)
valueMulti = 10;
if (FlxG.keys.justPressed.UP)
cutsceneGroup.members[curSelected].y -= valueMulti;
if (FlxG.keys.justPressed.DOWN)
cutsceneGroup.members[curSelected].y += valueMulti;
if (FlxG.keys.justPressed.LEFT)
cutsceneGroup.members[curSelected].x -= valueMulti;
if (FlxG.keys.justPressed.RIGHT)
cutsceneGroup.members[curSelected].x += valueMulti;
}
debugTxt.text = curSelected + " : " + cutsceneGroup.members[curSelected].getPosition();
if (curSelected < 0)
curSelected = animShit.length - 1;
if (curSelected >= animShit.length)
curSelected = 0;
super.update(elapsed);
}
}

View File

@ -0,0 +1,65 @@
package;
import flixel.FlxSprite;
import flixel.group.FlxGroup.FlxTypedGroup;
import flixel.math.FlxPoint;
using StringTools;
class CutsceneCharacter extends FlxTypedGroup<FlxSprite>
{
public var coolPos:FlxPoint = FlxPoint.get();
public var animShit:Map<String, FlxPoint> = new Map();
private var imageShit:String;
public function new(x:Float, y:Float, imageShit:String)
{
super();
coolPos.set(x, y);
this.imageShit = imageShit;
parseOffsets();
createCutscene(0);
}
// shitshow, oh well
var arrayLMFAOOOO:Array<String> = [];
function parseOffsets()
{
var splitShit:Array<String> = CoolUtil.coolTextFile(Paths.file('images/cutsceneStuff/' + imageShit + "CutsceneOffsets.txt"));
for (i in splitShit)
{
var xAndY:FlxPoint = FlxPoint.get();
var dumbSplit:Array<String> = i.split('---')[1].trim().split(' ');
xAndY.set(Std.parseFloat(dumbSplit[0]), Std.parseFloat(dumbSplit[1]));
animShit.set(i.split('---')[0].trim(), xAndY);
arrayLMFAOOOO.push(i.split('---')[0].trim());
}
trace(animShit);
}
public function createCutscene(daNum:Int = 0)
{
var cutScene:FlxSprite = new FlxSprite(coolPos.x + animShit.get(arrayLMFAOOOO[daNum]).x, coolPos.y + animShit.get(arrayLMFAOOOO[daNum]).y);
cutScene.frames = Paths.getSparrowAtlas('cutsceneStuff/' + imageShit + "-" + daNum);
cutScene.animation.addByPrefix('weed', arrayLMFAOOOO[daNum], 24, false);
cutScene.animation.play('weed');
cutScene.animation.finishCallback = function(anim:String)
{
cutScene.kill();
cutScene.destroy();
if (daNum + 1 < arrayLMFAOOOO.length)
createCutscene(daNum + 1);
};
add(cutScene);
}
}

View File

@ -44,13 +44,9 @@ class TitleState extends MusicBeatState
var ngSpr:FlxSprite;
var curWacky:Array<String> = [];
var wackyImage:FlxSprite;
var lastBeat:Int = 0;
var swagShader:ColorSwap;
var thingie:FlxSprite;
override public function create():Void
@ -59,6 +55,7 @@ class TitleState extends MusicBeatState
polymod.Polymod.init({modRoot: "mods", dirs: ['introMod'], framework: OPENFL});
// FlxG.bitmap.clearCache();
#end
/*
FlxG.stage.window.onDropFile.add(function(path:String)
@ -177,6 +174,7 @@ class TitleState extends MusicBeatState
logoBl.antialiasing = true;
logoBl.animation.addByPrefix('bump', 'logo bumpin', 24);
logoBl.animation.play('bump');
logoBl.updateHitbox();
logoBl.shader = swagShader.shader;
@ -271,6 +269,9 @@ class TitleState extends MusicBeatState
override function update(elapsed:Float)
{
if (FlxG.keys.justPressed.EIGHT)
FlxG.switchState(new CutsceneAnimTestState());
/*
if (FlxG.keys.justPressed.R)
{