mirror of
https://github.com/FunkinCrew/Funkin.git
synced 2024-11-23 08:07:54 -05:00
PureColor shader
This commit is contained in:
parent
c58ee24579
commit
df4788dcf4
2 changed files with 62 additions and 3 deletions
|
@ -28,6 +28,7 @@ import freeplayStuff.SongMenuItem;
|
||||||
import lime.app.Future;
|
import lime.app.Future;
|
||||||
import lime.utils.Assets;
|
import lime.utils.Assets;
|
||||||
import shaderslmfao.AngleMask;
|
import shaderslmfao.AngleMask;
|
||||||
|
import shaderslmfao.PureColor;
|
||||||
import shaderslmfao.StrokeShader;
|
import shaderslmfao.StrokeShader;
|
||||||
|
|
||||||
using StringTools;
|
using StringTools;
|
||||||
|
@ -198,7 +199,7 @@ class FreeplayState extends MusicBeatSubstate
|
||||||
grpCapsules = new FlxTypedGroup<SongMenuItem>();
|
grpCapsules = new FlxTypedGroup<SongMenuItem>();
|
||||||
add(grpCapsules);
|
add(grpCapsules);
|
||||||
|
|
||||||
grpDifficulties = new FlxSpriteGroup(-300, 100);
|
grpDifficulties = new FlxSpriteGroup(-300, 80);
|
||||||
add(grpDifficulties);
|
add(grpDifficulties);
|
||||||
|
|
||||||
grpDifficulties.add(new FlxSprite().loadGraphic(Paths.image('freeplay/freeplayEasy')));
|
grpDifficulties.add(new FlxSprite().loadGraphic(Paths.image('freeplay/freeplayEasy')));
|
||||||
|
@ -232,8 +233,8 @@ class FreeplayState extends MusicBeatSubstate
|
||||||
{
|
{
|
||||||
FlxTween.tween(grpDifficulties, {x: 90}, 0.6, {ease: FlxEase.quartOut});
|
FlxTween.tween(grpDifficulties, {x: 90}, 0.6, {ease: FlxEase.quartOut});
|
||||||
|
|
||||||
add(new DifficultySelector(20, grpDifficulties.y, false, controls));
|
add(new DifficultySelector(20, grpDifficulties.y - 10, false, controls));
|
||||||
add(new DifficultySelector(325, grpDifficulties.y, true, controls));
|
add(new DifficultySelector(325, grpDifficulties.y - 10, true, controls));
|
||||||
|
|
||||||
var animShit:ComboCounter = new ComboCounter(100, 300, 1000000);
|
var animShit:ComboCounter = new ComboCounter(100, 300, 1000000);
|
||||||
// add(animShit);
|
// add(animShit);
|
||||||
|
@ -591,8 +592,10 @@ class FreeplayState extends MusicBeatSubstate
|
||||||
|
|
||||||
curShit.visible = true;
|
curShit.visible = true;
|
||||||
curShit.offset.y += 5;
|
curShit.offset.y += 5;
|
||||||
|
curShit.alpha = 0.5;
|
||||||
new FlxTimer().start(1 / 24, function(swag)
|
new FlxTimer().start(1 / 24, function(swag)
|
||||||
{
|
{
|
||||||
|
curShit.alpha = 1;
|
||||||
curShit.updateHitbox();
|
curShit.updateHitbox();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -664,6 +667,7 @@ class FreeplayState extends MusicBeatSubstate
|
||||||
class DifficultySelector extends FlxSprite
|
class DifficultySelector extends FlxSprite
|
||||||
{
|
{
|
||||||
var controls:Controls;
|
var controls:Controls;
|
||||||
|
var whiteShader:PureColor;
|
||||||
|
|
||||||
public function new(x:Float, y:Float, flipped:Bool, controls:Controls)
|
public function new(x:Float, y:Float, flipped:Bool, controls:Controls)
|
||||||
{
|
{
|
||||||
|
@ -675,6 +679,10 @@ class DifficultySelector extends FlxSprite
|
||||||
animation.addByPrefix('shine', "arrow pointer loop", 24);
|
animation.addByPrefix('shine', "arrow pointer loop", 24);
|
||||||
animation.play('shine');
|
animation.play('shine');
|
||||||
|
|
||||||
|
whiteShader = new PureColor(FlxColor.WHITE);
|
||||||
|
|
||||||
|
shader = whiteShader;
|
||||||
|
|
||||||
flipX = flipped;
|
flipX = flipped;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -692,8 +700,11 @@ class DifficultySelector extends FlxSprite
|
||||||
{
|
{
|
||||||
offset.y -= 5;
|
offset.y -= 5;
|
||||||
|
|
||||||
|
whiteShader.colorSet = true;
|
||||||
|
|
||||||
new FlxTimer().start(2 / 24, function(tmr)
|
new FlxTimer().start(2 / 24, function(tmr)
|
||||||
{
|
{
|
||||||
|
whiteShader.colorSet = false;
|
||||||
updateHitbox();
|
updateHitbox();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
48
source/shaderslmfao/PureColor.hx
Normal file
48
source/shaderslmfao/PureColor.hx
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
package shaderslmfao;
|
||||||
|
|
||||||
|
import flixel.system.FlxAssets.FlxShader;
|
||||||
|
import flixel.util.FlxColor;
|
||||||
|
|
||||||
|
class PureColor extends FlxShader
|
||||||
|
{
|
||||||
|
public var col(default, set):FlxColor;
|
||||||
|
public var colorSet(default, set):Bool;
|
||||||
|
|
||||||
|
function set_colorSet(bol:Bool):Bool
|
||||||
|
{
|
||||||
|
colSet.value = [bol];
|
||||||
|
|
||||||
|
return bol;
|
||||||
|
}
|
||||||
|
|
||||||
|
function set_col(val:FlxColor):FlxColor
|
||||||
|
{
|
||||||
|
funnyColor.value = [val.red, val.green, val.blue, val.alpha];
|
||||||
|
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
|
||||||
|
@:glFragmentSource('
|
||||||
|
#pragma header
|
||||||
|
|
||||||
|
uniform vec4 funnyColor;
|
||||||
|
uniform bool colSet;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
vec4 color = flixel_texture2D(bitmap, openfl_TextureCoordv);
|
||||||
|
|
||||||
|
if (color.a > 0.0 && colSet)
|
||||||
|
color = vec4(funnyColor.r, funnyColor.g, funnyColor.b, color.a);
|
||||||
|
|
||||||
|
gl_FragColor = color;
|
||||||
|
}
|
||||||
|
')
|
||||||
|
public function new(colr:FlxColor)
|
||||||
|
{
|
||||||
|
super();
|
||||||
|
|
||||||
|
this.col = colr;
|
||||||
|
this.colorSet = false;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue