color swap shit in progress

This commit is contained in:
Cameron Taylor 2021-03-21 14:45:46 -04:00
parent 00cf2e5c6d
commit 08ccaef628
9 changed files with 96 additions and 104 deletions

View File

Before

Width:  |  Height:  |  Size: 696 KiB

After

Width:  |  Height:  |  Size: 696 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 549 KiB

View File

@ -1,92 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<TextureAtlas imagePath="NOTE_assets_desat.png">
<!-- Created with Adobe Animate version 21.0.0.35450 -->
<!-- http://www.adobe.com/products/animate.html -->
<SubTexture name="arrow static instance 10000" x="496" y="244" width="155" height="158"/>
<SubTexture name="arrow static instance 20000" x="661" y="244" width="157" height="155"/>
<SubTexture name="arrow static instance 30000" x="0" y="246" width="155" height="157"/>
<SubTexture name="arrow static instance 40000" x="165" y="410" width="157" height="154"/>
<SubTexture name="blue hold end instance 10000" x="1938" y="0" width="51" height="64"/>
<SubTexture name="blue hold piece instance 10000" x="1938" y="202" width="51" height="44"/>
<SubTexture name="blue instance 10000" x="165" y="246" width="158" height="154"/>
<SubTexture name="down confirm instance 10000" x="0" y="0" width="238" height="236"/>
<SubTexture name="down confirm instance 10001" x="248" y="0" width="238" height="236"/>
<SubTexture name="down confirm instance 10002" x="1230" y="241" width="222" height="218" frameX="-5" frameY="-12" frameWidth="238" frameHeight="236"/>
<SubTexture name="down confirm instance 10003" x="1230" y="241" width="222" height="218" frameX="-5" frameY="-12" frameWidth="238" frameHeight="236"/>
<SubTexture name="down press instance 10000" x="1296" y="469" width="142" height="140" frameX="-4" frameY="-3" frameWidth="149" frameHeight="147"/>
<SubTexture name="down press instance 10001" x="1296" y="469" width="142" height="140" frameX="-4" frameY="-3" frameWidth="149" frameHeight="147"/>
<SubTexture name="down press instance 10002" x="0" y="413" width="149" height="147"/>
<SubTexture name="down press instance 10003" x="0" y="413" width="149" height="147"/>
<SubTexture name="green hold end instance 10000" x="1938" y="0" width="51" height="64"/>
<SubTexture name="green hold piece instance 10000" x="1938" y="148" width="51" height="44"/>
<SubTexture name="green instance 10000" x="661" y="409" width="157" height="154"/>
<SubTexture name="left confirm instance 10000" x="992" y="0" width="228" height="232"/>
<SubTexture name="left confirm instance 10001" x="1468" y="239" width="219" height="222" frameX="-4" frameY="-5" frameWidth="228" frameHeight="232"/>
<SubTexture name="left confirm instance 10002" x="1468" y="0" width="225" height="229" frameX="-2" frameY="-1" frameWidth="228" frameHeight="232"/>
<SubTexture name="left confirm instance 10003" x="1468" y="0" width="225" height="229" frameX="-2" frameY="-1" frameWidth="228" frameHeight="232"/>
<SubTexture name="left press instance 10000" x="1146" y="469" width="140" height="143" frameX="-4" frameY="-3" frameWidth="147" frameHeight="150"/>
<SubTexture name="left press instance 10001" x="1146" y="469" width="140" height="143" frameX="-4" frameY="-3" frameWidth="147" frameHeight="150"/>
<SubTexture name="left press instance 10002" x="496" y="412" width="147" height="150"/>
<SubTexture name="left press instance 10003" x="496" y="412" width="147" height="150"/>
<SubTexture name="left press instance 10004" x="496" y="412" width="147" height="150"/>
<SubTexture name="left press instance 10005" x="496" y="412" width="147" height="150"/>
<SubTexture name="left press instance 10006" x="496" y="412" width="147" height="150"/>
<SubTexture name="left press instance 10007" x="496" y="412" width="147" height="150"/>
<SubTexture name="left press instance 10008" x="496" y="412" width="147" height="150"/>
<SubTexture name="left press instance 10009" x="496" y="412" width="147" height="150"/>
<SubTexture name="left press instance 10010" x="496" y="412" width="147" height="150"/>
<SubTexture name="left press instance 10011" x="496" y="412" width="147" height="150"/>
<SubTexture name="left press instance 10012" x="496" y="412" width="147" height="150"/>
<SubTexture name="left press instance 10013" x="496" y="412" width="147" height="150"/>
<SubTexture name="left press instance 10014" x="496" y="412" width="147" height="150"/>
<SubTexture name="left press instance 10015" x="496" y="412" width="147" height="150"/>
<SubTexture name="left press instance 10016" x="496" y="412" width="147" height="150"/>
<SubTexture name="left press instance 10017" x="496" y="412" width="147" height="150"/>
<SubTexture name="left press instance 10018" x="496" y="412" width="147" height="150"/>
<SubTexture name="left press instance 10019" x="496" y="412" width="147" height="150"/>
<SubTexture name="pruple end hold instance 10000" x="1938" y="74" width="51" height="64"/>
<SubTexture name="purple hold piece instance 10000" x="1938" y="256" width="51" height="44"/>
<SubTexture name="purple instance 10000" x="332" y="410" width="154" height="157"/>
<SubTexture name="red hold end instance 10000" x="1938" y="0" width="51" height="64"/>
<SubTexture name="red hold piece instance 10000" x="1938" y="148" width="51" height="44"/>
<SubTexture name="red instance 10000" x="828" y="244" width="154" height="157"/>
<SubTexture name="right confirm instance 10000" x="1703" y="0" width="225" height="228" frameX="-1" frameY="-2" frameWidth="228" frameHeight="231"/>
<SubTexture name="right confirm instance 10001" x="1703" y="238" width="225" height="228" frameX="-1" frameY="-2" frameWidth="228" frameHeight="231"/>
<SubTexture name="right confirm instance 10002" x="1230" y="0" width="228" height="231"/>
<SubTexture name="right confirm instance 10003" x="1230" y="0" width="228" height="231"/>
<SubTexture name="right press instance 10000" x="1448" y="471" width="138" height="141" frameX="-3" frameY="-7" frameWidth="148" frameHeight="151"/>
<SubTexture name="right press instance 10001" x="1448" y="471" width="138" height="141" frameX="-3" frameY="-7" frameWidth="148" frameHeight="151"/>
<SubTexture name="right press instance 10002" x="333" y="246" width="148" height="151"/>
<SubTexture name="right press instance 10003" x="333" y="246" width="148" height="151"/>
<SubTexture name="right press instance 10004" x="333" y="246" width="148" height="151"/>
<SubTexture name="right press instance 10005" x="333" y="246" width="148" height="151"/>
<SubTexture name="right press instance 10006" x="333" y="246" width="148" height="151"/>
<SubTexture name="right press instance 10007" x="333" y="246" width="148" height="151"/>
<SubTexture name="right press instance 10008" x="333" y="246" width="148" height="151"/>
<SubTexture name="right press instance 10009" x="333" y="246" width="148" height="151"/>
<SubTexture name="right press instance 10010" x="333" y="246" width="148" height="151"/>
<SubTexture name="right press instance 10011" x="333" y="246" width="148" height="151"/>
<SubTexture name="right press instance 10012" x="333" y="246" width="148" height="151"/>
<SubTexture name="right press instance 10013" x="333" y="246" width="148" height="151"/>
<SubTexture name="right press instance 10014" x="333" y="246" width="148" height="151"/>
<SubTexture name="right press instance 10015" x="333" y="246" width="148" height="151"/>
<SubTexture name="right press instance 10016" x="333" y="246" width="148" height="151"/>
<SubTexture name="right press instance 10017" x="333" y="246" width="148" height="151"/>
<SubTexture name="right press instance 10018" x="333" y="246" width="148" height="151"/>
<SubTexture name="right press instance 10019" x="333" y="246" width="148" height="151"/>
<SubTexture name="right press instance 10020" x="333" y="246" width="148" height="151"/>
<SubTexture name="right press instance 10021" x="333" y="246" width="148" height="151"/>
<SubTexture name="right press instance 10022" x="333" y="246" width="148" height="151"/>
<SubTexture name="right press instance 10023" x="333" y="246" width="148" height="151"/>
<SubTexture name="right press instance 10024" x="333" y="246" width="148" height="151"/>
<SubTexture name="right press instance 10025" x="333" y="246" width="148" height="151"/>
<SubTexture name="right press instance 10026" x="333" y="246" width="148" height="151"/>
<SubTexture name="up confirm instance 10000" x="496" y="0" width="238" height="234"/>
<SubTexture name="up confirm instance 10001" x="744" y="0" width="238" height="234"/>
<SubTexture name="up confirm instance 10002" x="992" y="242" width="216" height="213" frameX="-11" frameY="-11" frameWidth="238" frameHeight="234"/>
<SubTexture name="up confirm instance 10003" x="992" y="242" width="216" height="213" frameX="-11" frameY="-11" frameWidth="238" frameHeight="234"/>
<SubTexture name="up press instance 10000" x="992" y="465" width="144" height="141" frameX="-5" frameY="-4" frameWidth="154" frameHeight="150"/>
<SubTexture name="up press instance 10001" x="992" y="465" width="144" height="141" frameX="-5" frameY="-4" frameWidth="154" frameHeight="150"/>
<SubTexture name="up press instance 10002" x="828" y="411" width="154" height="150"/>
<SubTexture name="up press instance 10003" x="828" y="411" width="154" height="150"/>
</TextureAtlas>

View File

@ -0,0 +1,56 @@
package;
import flixel.group.FlxGroup.FlxTypedGroup;
import shaderslmfao.ColorSwap;
class ColorpickSubstate extends MusicBeatSubstate
{
var curSelected:Int = 0;
var grpNotes:FlxTypedGroup<Note>;
public function new()
{
super();
grpNotes = new FlxTypedGroup<Note>();
add(grpNotes);
for (i in 0...4)
{
var note:Note = new Note(0, i);
note.x = (100 * i) + i;
note.screenCenter(Y);
grpNotes.add(note);
}
}
override function update(elapsed:Float)
{
if (controls.RIGHT_P)
curSelected += 1;
if (controls.LEFT_P)
curSelected -= 1;
if (curSelected < 0)
curSelected = grpNotes.members.length - 1;
if (curSelected >= grpNotes.members.length)
curSelected = 0;
if (controls.UP)
{
grpNotes.members[curSelected].colorSwap.update(elapsed * 0.3);
Note.arrowColors[curSelected] += elapsed * 0.3;
}
if (controls.DOWN)
{
grpNotes.members[curSelected].colorSwap.update(-elapsed * 0.3);
Note.arrowColors[curSelected] += -elapsed * 0.3;
}
super.update(elapsed);
}
}

View File

@ -28,6 +28,7 @@ class Note extends FlxSprite
public var sustainLength:Float = 0;
public var isSustainNote:Bool = false;
public var colorSwap:ColorSwap;
public var noteScore:Float = 1;
public static var swagWidth:Float = 160 * 0.7;
@ -36,6 +37,8 @@ class Note extends FlxSprite
public static var BLUE_NOTE:Int = 1;
public static var RED_NOTE:Int = 3;
public static var arrowColors:Array<Float> = [1, 1, 1, 1];
public function new(strumTime:Float, noteData:Int, ?prevNote:Note, ?sustainNote:Bool = false)
{
super();
@ -105,10 +108,6 @@ class Note extends FlxSprite
updateHitbox();
antialiasing = true;
var colorSwap = new ColorSwap();
// shader = colorSwap.shader;
// colorSwap.colorToReplace = 0xFFF9393F;
// colorSwap.newColor = 0xFF00FF00;
@ -117,11 +116,15 @@ class Note extends FlxSprite
// replaceColor(0xFFC1C1C1, FlxColor.RED);
}
colorSwap = new ColorSwap();
shader = colorSwap.shader;
switch (noteData)
{
case 0:
x += swagWidth * 0;
animation.play('purpleScroll');
case 1:
x += swagWidth * 1;
animation.play('blueScroll');
@ -155,6 +158,7 @@ class Note extends FlxSprite
}
updateHitbox();
updateColors();
x -= width / 2;
@ -182,6 +186,11 @@ class Note extends FlxSprite
}
}
public function updateColors():Void
{
colorSwap.update(arrowColors[noteData]);
}
override function update(elapsed:Float)
{
super.update(elapsed);

View File

@ -8,7 +8,7 @@ import flixel.util.FlxColor;
class OptionsSubState extends MusicBeatSubstate
{
var textMenuItems:Array<String> = ['Master Volume', 'Sound Volume', 'Controls'];
var textMenuItems:Array<String> = ['Master Volume', 'Sound Volume', 'Controls', 'Colors'];
var selector:FlxSprite;
var curSelected:Int = 0;
@ -67,6 +67,9 @@ class OptionsSubState extends MusicBeatSubstate
{
switch (textMenuItems[curSelected])
{
case "Colors":
FlxG.state.closeSubState();
FlxG.state.openSubState(new ColorpickSubstate());
case "Controls":
FlxG.state.closeSubState();
FlxG.state.openSubState(new ControlsSubState());

View File

@ -42,7 +42,7 @@ class TitleState extends MusicBeatState
var lastBeat:Int = 0;
// var swagShader:ColorSwap;
var swagShader:ColorSwap;
override public function create():Void
{
@ -50,7 +50,7 @@ class TitleState extends MusicBeatState
polymod.Polymod.init({modRoot: "mods", dirs: ['introMod'], framework: OPENFL});
#end
// swagShader = new ColorSwap();
swagShader = new ColorSwap();
FlxG.sound.muteKeys = [ZERO];
@ -154,7 +154,7 @@ class TitleState extends MusicBeatState
logoBl.animation.play('bump');
logoBl.updateHitbox();
// logoBl.shader = swagShader.shader;
logoBl.shader = swagShader.shader;
// trace();
// logoBl.screenCenter();
@ -167,7 +167,7 @@ class TitleState extends MusicBeatState
gfDance.antialiasing = true;
add(gfDance);
// gfDance.shader = swagShader.shader;
gfDance.shader = swagShader.shader;
add(logoBl);
@ -333,6 +333,16 @@ class TitleState extends MusicBeatState
skipIntro();
}
if (controls.LEFT)
{
swagShader.update(-elapsed * 0.1);
}
if (controls.RIGHT)
{
swagShader.update(elapsed * 0.1);
}
super.update(elapsed);
}
@ -366,12 +376,12 @@ class TitleState extends MusicBeatState
}
}
var isRainbow:Bool = false;
override function beatHit()
{
super.beatHit();
// swagShader.update(FlxG.random.float(0.1, 0.7));
logoBl.animation.play('bump', true);
danceLeft = !danceLeft;

View File

@ -9,16 +9,20 @@ class ColorSwap
public var colorToReplace(default, set):FlxColor;
public var newColor(default, set):FlxColor;
public var daTime(default, set):Float;
public var hueShit:Float = 0;
public function new():Void
{
shader = new ColorSwapShader();
shader.uTime.value = [0];
shader.money.value = [0];
}
public function update(elapsed:Float):Void
{
shader.uTime.value[0] += elapsed;
hueShit += elapsed;
// trace(shader.money.value[0]);
}
function set_colorToReplace(color:FlxColor):FlxColor
@ -46,8 +50,8 @@ class ColorSwapShader extends FlxShader
@:glFragmentSource('
#pragma header
uniform float uTime;
uniform float money;
vec3 normalizeColor(vec3 color)
{
@ -86,6 +90,8 @@ class ColorSwapShader extends FlxShader
swagColor[0] += uTime;
// swagColor[1] += uTime;
// money += swagColor[0];
color = vec4(hsv2rgb(vec3(swagColor[0], swagColor[1], swagColor[2])), swagColor[3]);
gl_FragColor = color;