mirror of
https://github.com/ninjamuffin99/Funkin.git
synced 2025-01-31 08:57:56 +00:00
WIP on Week 6
This commit is contained in:
parent
00497ee729
commit
f74962f8e8
|
@ -110,13 +110,6 @@ class PlayState extends MusicBeatState
|
|||
|
||||
var foregroundSprites:FlxTypedGroup<BGSprite>;
|
||||
|
||||
var upperBoppers:FlxSprite;
|
||||
var bottomBoppers:FlxSprite;
|
||||
var santa:FlxSprite;
|
||||
|
||||
var bgGirls:BackgroundGirls;
|
||||
var wiggleShit:WiggleEffect = new WiggleEffect();
|
||||
|
||||
var tankmanRun:FlxTypedGroup<TankmenBG>;
|
||||
var gfCutsceneLayer:FlxGroup;
|
||||
var bfTankCutsceneLayer:FlxGroup;
|
||||
|
@ -383,6 +376,7 @@ class PlayState extends MusicBeatState
|
|||
// a lot of this stage code will be cleaned up more when the stage load shit is more fleshed out! For now it's still a lot of hardcoded shit!!
|
||||
function initStageBullshit()
|
||||
{
|
||||
// TODO: Move stageId to the song file.
|
||||
switch (SONG.song.toLowerCase())
|
||||
{
|
||||
case 'spookeez' | 'monster' | 'south':
|
||||
|
@ -411,92 +405,16 @@ class PlayState extends MusicBeatState
|
|||
|
||||
case 'senpai' | 'roses':
|
||||
curStageId = 'school';
|
||||
loadStage(curStageId);
|
||||
|
||||
// defaultCamZoom *= 0.9;
|
||||
case "darnell":
|
||||
curStageId = 'phillyStreets';
|
||||
loadStage(curStageId);
|
||||
|
||||
var bgSky = new FlxSprite().loadGraphic(Paths.image('weeb/weebSky'));
|
||||
bgSky.scrollFactor.set(0.1, 0.1);
|
||||
add(bgSky);
|
||||
|
||||
var repositionShit = -200;
|
||||
|
||||
var bgSchool:FlxSprite = new FlxSprite(repositionShit, 0).loadGraphic(Paths.image('weeb/weebSchool'));
|
||||
bgSchool.scrollFactor.set(0.6, 0.90);
|
||||
add(bgSchool);
|
||||
|
||||
var bgStreet:FlxSprite = new FlxSprite(repositionShit).loadGraphic(Paths.image('weeb/weebStreet'));
|
||||
bgStreet.scrollFactor.set(0.95, 0.95);
|
||||
add(bgStreet);
|
||||
|
||||
var fgTrees:FlxSprite = new FlxSprite(repositionShit + 170, 130).loadGraphic(Paths.image('weeb/weebTreesBack'));
|
||||
fgTrees.scrollFactor.set(0.9, 0.9);
|
||||
add(fgTrees);
|
||||
|
||||
var bgTrees:FlxSprite = new FlxSprite(repositionShit - 380, -800);
|
||||
var treetex = Paths.getPackerAtlas('weeb/weebTrees');
|
||||
bgTrees.frames = treetex;
|
||||
bgTrees.animation.add('treeLoop', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18], 12);
|
||||
bgTrees.animation.play('treeLoop');
|
||||
bgTrees.scrollFactor.set(0.85, 0.85);
|
||||
add(bgTrees);
|
||||
|
||||
var treeLeaves:FlxSprite = new FlxSprite(repositionShit, -40);
|
||||
treeLeaves.frames = Paths.getSparrowAtlas('weeb/petals');
|
||||
treeLeaves.animation.addByPrefix('leaves', 'PETALS ALL', 24, true);
|
||||
treeLeaves.animation.play('leaves');
|
||||
treeLeaves.scrollFactor.set(0.85, 0.85);
|
||||
add(treeLeaves);
|
||||
|
||||
var widShit = Std.int(bgSky.width * 6);
|
||||
|
||||
bgSky.setGraphicSize(widShit);
|
||||
bgSchool.setGraphicSize(widShit);
|
||||
bgStreet.setGraphicSize(widShit);
|
||||
bgTrees.setGraphicSize(Std.int(widShit * 1.4));
|
||||
fgTrees.setGraphicSize(Std.int(widShit * 0.8));
|
||||
treeLeaves.setGraphicSize(widShit);
|
||||
|
||||
fgTrees.updateHitbox();
|
||||
bgSky.updateHitbox();
|
||||
bgSchool.updateHitbox();
|
||||
bgStreet.updateHitbox();
|
||||
bgTrees.updateHitbox();
|
||||
treeLeaves.updateHitbox();
|
||||
|
||||
bgGirls = new BackgroundGirls(-100, 190);
|
||||
bgGirls.scrollFactor.set(0.9, 0.9);
|
||||
|
||||
if (SONG.song.toLowerCase() == 'roses')
|
||||
{
|
||||
bgGirls.getScared();
|
||||
}
|
||||
|
||||
bgGirls.setGraphicSize(Std.int(bgGirls.width * daPixelZoom));
|
||||
bgGirls.updateHitbox();
|
||||
add(bgGirls);
|
||||
case 'thorns':
|
||||
// loadStage('schoolEvil');
|
||||
curStageId = 'schoolEvil';
|
||||
loadStage(curStageId);
|
||||
|
||||
var schoolBG:FlxSprite = new FlxSprite(-200, 0).loadGraphic(Paths.image('weeb/evilSchoolBG'));
|
||||
wiggleShit.waveAmplitude = 0.017;
|
||||
wiggleShit.waveSpeed = 2;
|
||||
wiggleShit.waveFrequency = 4;
|
||||
schoolBG.shader = wiggleShit.shader;
|
||||
schoolBG.setGraphicSize(Std.int(schoolBG.width * 6));
|
||||
schoolBG.updateHitbox();
|
||||
// schoolBG.scale.set(6, 6);
|
||||
add(schoolBG);
|
||||
|
||||
schoolBG.scrollFactor.set(0.7, 1);
|
||||
|
||||
var schoolFront:FlxSprite = new FlxSprite(-250, schoolBG.y + 20).loadGraphic(Paths.image('weeb/evilSchoolFG'));
|
||||
|
||||
schoolFront.shader = wiggleShit.shader;
|
||||
|
||||
schoolFront.setGraphicSize(Std.int(schoolFront.width * 6));
|
||||
schoolFront.updateHitbox();
|
||||
add(schoolFront);
|
||||
case 'guns' | 'stress' | 'ugh':
|
||||
loadStageOld('tank');
|
||||
|
||||
|
@ -544,11 +462,9 @@ class PlayState extends MusicBeatState
|
|||
|
||||
var fgTank3:BGSprite = new BGSprite('tank3', 1300, 1200, 3.5, 2.5, ['fg']);
|
||||
foregroundSprites.add(fgTank3);
|
||||
case "darnell":
|
||||
curStageId = 'phillyStreets';
|
||||
loadStage(curStageId);
|
||||
default:
|
||||
loadStage('mainStage');
|
||||
curStageId = "mainStage";
|
||||
loadStage(curStageId);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -648,11 +564,6 @@ class PlayState extends MusicBeatState
|
|||
// REPOSITIONING PER STAGE
|
||||
switch (curStageId)
|
||||
{
|
||||
case 'school':
|
||||
boyfriend.x += 200;
|
||||
boyfriend.y += 220;
|
||||
gf.x += 180;
|
||||
gf.y += 300;
|
||||
case 'schoolEvil':
|
||||
// trailArea.scrollFactor.set();
|
||||
|
||||
|
@ -1865,8 +1776,6 @@ class PlayState extends MusicBeatState
|
|||
|
||||
super.update(elapsed); // idk if there's a particular reason why some code is before super.update(), and some is after. Prob nothing too much to worry about.
|
||||
|
||||
wiggleShit.update(elapsed);
|
||||
|
||||
var androidPause:Bool = false;
|
||||
|
||||
#if android
|
||||
|
@ -2852,9 +2761,6 @@ class PlayState extends MusicBeatState
|
|||
// boppin friends
|
||||
switch (curStageId)
|
||||
{
|
||||
case 'school':
|
||||
bgGirls.dance();
|
||||
|
||||
case 'tank':
|
||||
tankWatchtower.dance();
|
||||
}
|
||||
|
|
|
@ -33,6 +33,15 @@ class Bopper extends FlxSprite
|
|||
return value;
|
||||
}
|
||||
|
||||
public var idleSuffix(default, set):String = "";
|
||||
|
||||
function set_idleSuffix(value:String):String
|
||||
{
|
||||
this.idleSuffix = value;
|
||||
this.dance();
|
||||
return value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set this value to define an additional vertical offset to this sprite's position.
|
||||
*/
|
||||
|
@ -94,17 +103,17 @@ class Bopper extends FlxSprite
|
|||
{
|
||||
if (hasDanced)
|
||||
{
|
||||
this.animation.play('danceRight');
|
||||
this.animation.play('danceRight$idleSuffix');
|
||||
}
|
||||
else
|
||||
{
|
||||
this.animation.play('danceLeft');
|
||||
this.animation.play('danceLeft$idleSuffix');
|
||||
}
|
||||
hasDanced = !hasDanced;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.animation.play('idle');
|
||||
this.animation.play('idle$idleSuffix');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -80,7 +80,13 @@ class Stage extends FlxSpriteGroup implements IHook
|
|||
if (isAnimated)
|
||||
{
|
||||
// Initalize sprite frames.
|
||||
propSprite.frames = Paths.getSparrowAtlas(dataProp.assetPath);
|
||||
switch (dataProp.animType)
|
||||
{
|
||||
case "packer":
|
||||
propSprite.frames = Paths.getPackerAtlas(dataProp.assetPath);
|
||||
default: // "sparrow"
|
||||
propSprite.frames = Paths.getSparrowAtlas(dataProp.assetPath);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -112,17 +118,27 @@ class Stage extends FlxSpriteGroup implements IHook
|
|||
|
||||
propSprite.zIndex = dataProp.zIndex;
|
||||
|
||||
for (propAnim in dataProp.animations)
|
||||
switch (dataProp.animType)
|
||||
{
|
||||
if (propAnim.frameIndices.length == 0)
|
||||
{
|
||||
propSprite.animation.addByPrefix(propAnim.name, propAnim.prefix, propAnim.frameRate, propAnim.loop, propAnim.flipX, propAnim.flipY);
|
||||
}
|
||||
else
|
||||
{
|
||||
propSprite.animation.addByIndices(propAnim.name, propAnim.prefix, propAnim.frameIndices, "", propAnim.frameRate, propAnim.loop,
|
||||
propAnim.flipX, propAnim.flipY);
|
||||
}
|
||||
case "packer":
|
||||
for (propAnim in dataProp.animations)
|
||||
{
|
||||
propSprite.animation.add(propAnim.name, propAnim.frameIndices);
|
||||
}
|
||||
default: // "sparrow"
|
||||
for (propAnim in dataProp.animations)
|
||||
{
|
||||
if (propAnim.frameIndices.length == 0)
|
||||
{
|
||||
propSprite.animation.addByPrefix(propAnim.name, propAnim.prefix, propAnim.frameRate, propAnim.loop, propAnim.flipX,
|
||||
propAnim.flipY);
|
||||
}
|
||||
else
|
||||
{
|
||||
propSprite.animation.addByIndices(propAnim.name, propAnim.prefix, propAnim.frameIndices, "", propAnim.frameRate, propAnim.loop,
|
||||
propAnim.flipX, propAnim.flipY);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (dataProp.startingAnimation != null)
|
||||
|
|
|
@ -179,6 +179,7 @@ class StageDataParser
|
|||
static final DEFAULT_POSITION:Array<Float> = [0, 0];
|
||||
static final DEFAULT_SCROLL:Array<Float> = [0, 0];
|
||||
static final DEFAULT_FRAMEINDICES:Array<Int> = [];
|
||||
static final DEFAULT_ANIMTYPE:String = "sparrow";
|
||||
|
||||
static final DEFAULT_CHARACTER_DATA:StageDataCharacter = {
|
||||
zIndex: DEFAULT_ZINDEX,
|
||||
|
@ -258,6 +259,11 @@ class StageDataParser
|
|||
inputProp.scale = DEFAULT_SCALE;
|
||||
}
|
||||
|
||||
if (inputProp.animType == null)
|
||||
{
|
||||
inputProp.animType = DEFAULT_ANIMTYPE;
|
||||
}
|
||||
|
||||
if (Std.isOfType(inputProp.scale, Float))
|
||||
{
|
||||
inputProp.scale = [inputProp.scale, inputProp.scale];
|
||||
|
@ -440,6 +446,13 @@ typedef StageDataProp =
|
|||
* @default Don't play an animation.
|
||||
*/
|
||||
var startingAnimation:String;
|
||||
|
||||
/**
|
||||
* The animation type to use.
|
||||
* Options: "sparrow", "packer"
|
||||
* @default "sparrow"
|
||||
*/
|
||||
var animType:String;
|
||||
};
|
||||
|
||||
typedef StageDataPropAnimation =
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package;
|
||||
package shaderslmfao;
|
||||
|
||||
// STOLEN FROM HAXEFLIXEL DEMO LOL
|
||||
import flixel.system.FlxAssets.FlxShader;
|
Loading…
Reference in a new issue