Prechádzať zdrojové kódy

* License and formatting in GeneratedTextureKey
* TestJoystick now assigns input mappings for all joysticks instead of just the first one

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@9307 75d07b2b-3a1a-0410-a2c5-0572b91ccdca

Sha..rd 13 rokov pred
rodič
commit
79194f054c

+ 55 - 24
engine/src/blender/com/jme3/asset/GeneratedTextureKey.java

@@ -1,37 +1,68 @@
-package com.jme3.asset;
+/*
+ * Copyright (c) 2009-2010 jMonkeyEngine
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
+ *   may be used to endorse or promote products derived from this software
+ *   without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
 
+package com.jme3.asset;
 
 /**
  * This key is mostly used to distinguish between textures that are loaded from
  * the given assets and those being generated automatically. Every generated
  * texture will have this kind of key attached.
- * 
+ *
  * @author Marcin Roguski (Kaelthas)
  */
 public class GeneratedTextureKey extends TextureKey {
-	/**
-	 * Constructor. Stores the name. Extension and folder name are empty
-	 * strings.
-	 * 
-	 * @param name
-	 *            the name of the texture
-	 */
-	public GeneratedTextureKey(String name) {
-		super(name);
-	}
 
-	@Override
-	public String getExtension() {
-		return "";
-	}
+    /**
+     * Constructor. Stores the name. Extension and folder name are empty
+     * strings.
+     *
+     * @param name the name of the texture
+     */
+    public GeneratedTextureKey(String name) {
+        super(name);
+    }
+
+    @Override
+    public String getExtension() {
+        return "";
+    }
 
-	@Override
-	public String getFolder() {
-		return "";
-	}
+    @Override
+    public String getFolder() {
+        return "";
+    }
 
-	@Override
-	public String toString() {
-		return "Generated texture [" + name + "]";
-	}
+    @Override
+    public String toString() {
+        return "Generated texture [" + name + "]";
+    }
 }

+ 13 - 13
engine/src/test/jme3test/input/TestJoystick.java

@@ -3,11 +3,12 @@ package jme3test.input;
 import com.jme3.app.SimpleApplication;
 import com.jme3.input.JoyInput;
 import com.jme3.input.Joystick;
+import com.jme3.input.controls.ActionListener;
 import com.jme3.input.controls.AnalogListener;
 import com.jme3.input.controls.JoyAxisTrigger;
 import com.jme3.system.AppSettings;
 
-public class TestJoystick extends SimpleApplication implements AnalogListener {
+public class TestJoystick extends SimpleApplication implements AnalogListener, ActionListener {
 
     public static void main(String[] args){
         TestJoystick app = new TestJoystick();
@@ -22,26 +23,25 @@ public class TestJoystick extends SimpleApplication implements AnalogListener {
         Joystick[] joysticks = inputManager.getJoysticks();
         if (joysticks == null)
             throw new IllegalStateException("Cannot find any joysticks!");
-            
-        for (Joystick joy : joysticks){
+
+        for (int i = 0; i < joysticks.length; i++){
+            Joystick joy = joysticks[i];
             System.out.println(joy.toString());
+            
+            joy.assignAxis("Joy Right",  "Joy Left",  joy.getXAxisIndex());
+            joy.assignAxis("Joy Down",   "Joy Up",    joy.getYAxisIndex());
+            joy.assignAxis("DPAD Right", "DPAD Left", JoyInput.AXIS_POV_X);
+            joy.assignAxis("DPAD Up",    "DPAD Down", JoyInput.AXIS_POV_Y);
+            joy.assignButton("Button", 0);
         }
 
-        inputManager.addMapping("DPAD Left", new JoyAxisTrigger(0, JoyInput.AXIS_POV_X, true));
-        inputManager.addMapping("DPAD Right", new JoyAxisTrigger(0, JoyInput.AXIS_POV_X, false));
-        inputManager.addMapping("DPAD Down", new JoyAxisTrigger(0, JoyInput.AXIS_POV_Y, true));
-        inputManager.addMapping("DPAD Up", new JoyAxisTrigger(0, JoyInput.AXIS_POV_Y, false));
         inputManager.addListener(this, "DPAD Left", "DPAD Right", "DPAD Down", "DPAD Up");
-
-        inputManager.addMapping("Joy Left", new JoyAxisTrigger(0, 0, true));
-        inputManager.addMapping("Joy Right", new JoyAxisTrigger(0, 0, false));
-        inputManager.addMapping("Joy Down", new JoyAxisTrigger(0, 1, true));
-        inputManager.addMapping("Joy Up", new JoyAxisTrigger(0, 1, false));
         inputManager.addListener(this, "Joy Left", "Joy Right", "Joy Down", "Joy Up");
+        inputManager.addListener(this, "Button");
     }
 
     public void onAnalog(String name, float isPressed, float tpf) {
-        System.out.println(name + " = " + isPressed);
+        System.out.println(name + " = " + isPressed / tpf);
     }
 
     public void onAction(String name, boolean isPressed, float tpf) {