Selaa lähdekoodia

Touch input for platformer

Josh Engebretson 10 vuotta sitten
vanhempi
sitoutus
6735fac72a

+ 4 - 3
PhysicsPlatformer/Resources/Components/Player.js

@@ -119,9 +119,10 @@ function handleInput(timeStep) {
         body.setLinearVelocity(vel);
     }
 
-    var left = input.getKeyDown(Atomic.KEY_LEFT);
-    var right = input.getKeyDown(Atomic.KEY_RIGHT);
-    var jump = input.getKeyDown(Atomic.KEY_UP);
+    var left = input.getKeyDown(Atomic.KEY_LEFT) || input.getKeyDown(Atomic.KEY_A);
+    var right = input.getKeyDown(Atomic.KEY_RIGHT) || input.getKeyDown(Atomic.KEY_D);
+    
+    var jump = input.getKeyDown(Atomic.KEY_UP) || input.getKeyDown(Atomic.KEY_SPACE);
 
     control = false;
 

+ 25 - 0
PhysicsPlatformer/Resources/Components/TouchInput.js

@@ -0,0 +1,25 @@
+
+// Atomic Component
+
+var game = Atomic.game;
+var node = self.node;
+var input = game.input;
+
+function start() {
+
+	// input.setTouchEmulation(true);
+    var layout = game.cache.getResource("XMLFile", "XML/ScreenJoystick_Platformer.xml");
+    var uiStyle = game.cache.getResource("XMLFile", "UI/DefaultStyle.xml");    
+    input.addScreenJoystick(layout, uiStyle);
+
+}
+
+function update(timeStep) {
+
+}
+
+/*
+
+input.AddScreenJoystick(layout, cache.GetResource("XMLFile", "UI/DefaultStyle.xml"));
+
+*/

+ 4 - 0
PhysicsPlatformer/Resources/Scripts/main.js

@@ -19,6 +19,10 @@ function start() {
 	game.createScene2D();
 	
 	var uiNode = game.scene.createChild("UI");
+	
+	if (Atomic.platform == "iOS" || Atomic.platform == "Android")
+	    uiNode.createJSComponent("TouchInput");
+	
 	uiNode.createJSComponent("UI");
 		
 }

+ 28 - 0
PhysicsPlatformer/Resources/XML/ScreenJoystick_Platformer.xml

@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<element inherit="UI/ScreenJoystick.xml">
+    <replace sel="/element/element[./attribute[@name='Name' and @value='Button0']]/element[./attribute[@name='Name' and @value='Label']]/attribute[@name='Text']/@value">Jump</replace>
+    <add sel="/element/element[./attribute[@name='Name' and @value='Button0']]">
+        <attribute name="Is Visible" value="true" />
+        <element type="Text">
+        <attribute name="Name" value="KeyBinding" />
+        <attribute name="Text" value="UP" />
+        </element>
+    </add>
+    <add sel="/element/element[./attribute[@name='Name' and @value='Button1']]">
+        <attribute name="Is Visible" value="false" />
+    </add>
+    <add sel="/element/element[./attribute[@name='Name' and @value='Button2']]">
+        <element type="Text">
+            <attribute name="Name" value="KeyBinding" />
+            <attribute name="Text" value="SELECT" />
+        </element>
+    </add>
+    <replace sel="/element/element[./attribute[@name='Name' and @value='Hat0']]/attribute[@name='Position']/@value">12 -76</replace>
+    <add sel="/element/element[./attribute[@name='Name' and @value='Hat0']]">
+        <attribute name="Is Visible" value="true" />
+        <element type="Text">
+            <attribute name="Name" value="KeyBinding" />
+            <attribute name="Text" value="WSAD" />
+                    </element>
+    </add>
+</element>