mirror of
https://github.com/FunkinCrew/Funkin.git
synced 2024-11-30 11:26:53 -05:00
102 lines
2.3 KiB
Haxe
102 lines
2.3 KiB
Haxe
package funkin;
|
|
|
|
import openfl.display.Sprite;
|
|
import openfl.events.AsyncErrorEvent;
|
|
import openfl.events.MouseEvent;
|
|
import openfl.events.NetStatusEvent;
|
|
import openfl.media.Video;
|
|
import openfl.net.NetConnection;
|
|
import openfl.net.NetStream;
|
|
|
|
class VideoState extends MusicBeatState
|
|
{
|
|
var video:Video;
|
|
var netStream:NetStream;
|
|
private var overlay:Sprite;
|
|
|
|
public static var seenVideo:Bool = false;
|
|
|
|
override function create()
|
|
{
|
|
super.create();
|
|
|
|
seenVideo = true;
|
|
|
|
FlxG.save.data.seenVideo = true;
|
|
FlxG.save.flush();
|
|
|
|
if (FlxG.sound.music != null)
|
|
FlxG.sound.music.stop();
|
|
|
|
video = new Video();
|
|
FlxG.addChildBelowMouse(video);
|
|
|
|
var netConnection = new NetConnection();
|
|
netConnection.connect(null);
|
|
|
|
netStream = new NetStream(netConnection);
|
|
netStream.client = {onMetaData: client_onMetaData};
|
|
netStream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, netStream_onAsyncError);
|
|
netConnection.addEventListener(NetStatusEvent.NET_STATUS, netConnection_onNetStatus);
|
|
// netStream.addEventListener(NetStatusEvent.NET_STATUS);
|
|
netStream.play(Paths.file('music/kickstarterTrailer.mp4'));
|
|
|
|
overlay = new Sprite();
|
|
overlay.graphics.beginFill(0, 0.5);
|
|
overlay.graphics.drawRect(0, 0, 1280, 720);
|
|
overlay.addEventListener(MouseEvent.MOUSE_DOWN, overlay_onMouseDown);
|
|
|
|
overlay.buttonMode = true;
|
|
// FlxG.stage.addChild(overlay);
|
|
}
|
|
|
|
override function update(elapsed:Float)
|
|
{
|
|
if (controls.ACCEPT)
|
|
finishVid();
|
|
|
|
super.update(elapsed);
|
|
}
|
|
|
|
function finishVid():Void
|
|
{
|
|
netStream.dispose();
|
|
FlxG.removeChild(video);
|
|
|
|
TitleState.initialized = false;
|
|
FlxG.switchState(new TitleState());
|
|
}
|
|
|
|
private function client_onMetaData(metaData:Dynamic)
|
|
{
|
|
video.attachNetStream(netStream);
|
|
|
|
video.width = video.videoWidth;
|
|
video.height = video.videoHeight;
|
|
// video.
|
|
}
|
|
|
|
private function netStream_onAsyncError(event:AsyncErrorEvent):Void
|
|
{
|
|
trace("Error loading video");
|
|
}
|
|
|
|
private function netConnection_onNetStatus(event:NetStatusEvent):Void
|
|
{
|
|
if (event.info.code == 'NetStream.Play.Complete')
|
|
{
|
|
finishVid();
|
|
}
|
|
|
|
trace(event.toString());
|
|
}
|
|
|
|
private function overlay_onMouseDown(event:MouseEvent):Void
|
|
{
|
|
netStream.soundTransform.volume = 0.2;
|
|
netStream.soundTransform.pan = -1;
|
|
// netStream.play(Paths.file('music/kickstarterTrailer.mp4'));
|
|
|
|
FlxG.stage.removeChild(overlay);
|
|
}
|
|
}
|