aboutsummaryrefslogtreecommitdiff
path: root/src/example/sound.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/example/sound.cpp')
-rw-r--r--src/example/sound.cpp54
1 files changed, 54 insertions, 0 deletions
diff --git a/src/example/sound.cpp b/src/example/sound.cpp
new file mode 100644
index 0000000..a9b0930
--- /dev/null
+++ b/src/example/sound.cpp
@@ -0,0 +1,54 @@
+
+
+#include "api/Asset.h"
+#include "api/AudioSource.h"
+#include "api/BehaviorScript.h"
+#include "api/Camera.h"
+#include "api/GameObject.h"
+#include "api/LoopManager.h"
+#include "api/Scene.h"
+#include "api/Script.h"
+#include "manager/ComponentManager.h"
+#include "types.h"
+#include <string>
+
+using namespace crepe;
+
+
+class ScriptTest : public Script {
+ void init(){
+ auto & audio = this->get_component<AudioSource>();
+ audio.play();
+ }
+ void update(){
+ }
+};
+
+
+class TestSound : public Scene {
+public:
+ void load_scene(){
+ Mediator & mediator = this->mediator;
+ ComponentManager & mgr = mediator.component_manager;
+
+ GameObject obj = mgr.new_object("SOUND");
+ GameObject cam = mgr.new_object("cam");
+ cam.add_component<Camera>(ivec2{100,100},vec2{100,100}, Camera::Data{});
+
+ Asset asset{"asset/audio/sample.ogg"};
+ auto & test = obj.add_component<AudioSource>(asset);
+ obj.add_component<BehaviorScript>().set_script<ScriptTest>();
+
+
+ }
+
+ std::string get_name() const { return "TestScene"; };
+
+};
+
+int main(){
+ LoopManager engine;
+ engine.add_scene<TestSound>();
+ engine.start();
+ return 0;
+}