2012-05-15 3 views
0

je veux concevoir le clavier D-PAD dans android. Je vois la configuration de l'utilisateur dans android. je ne sais pas comment l'utiliser. donner un codeComment concevoir D-PAD keybord dans Android?

+0

Pourriez-vous préciser un peu, quel type d'application, ce que vous êtes considéré jusqu'à présent, etc? –

+0

Je veux juste concevoir un D-PAD, où chaque touche effectue une opération différente. –

+0

Vous allez devoir être plus précis sur exactement ce dont vous avez besoin, ce que vous avez essayé jusqu'à présent, et où vous êtes coincé. Les questions de faible qualité ont tendance à se fermer. –

Répondre

5

Ne pas réinventer la roue à nouveau à partir de zéro, Juse utiliser AndEngine:

http://www.andengine.org/blog/2010/07/andengine-on-screen-controls/

et charger tout le nécessaire dans le onLoadScene()

@Override 
     public Scene onLoadScene() { 
       this.mEngine.registerUpdateHandler(new FPSLogger()); 

       final Scene scene = new Scene(); 
       scene.setBackground(new ColorBackground(0.09804f, 0.6274f, 0.8784f)); 

       final int centerX = (CAMERA_WIDTH - this.mFaceTextureRegion.getWidth())/2; 
       final int centerY = (CAMERA_HEIGHT - this.mFaceTextureRegion.getHeight())/2; 
       final Sprite face = new Sprite(centerX, centerY, this.mFaceTextureRegion); 
       final PhysicsHandler physicsHandler = new PhysicsHandler(face); 
       face.registerUpdateHandler(physicsHandler); 

       scene.attachChild(face); 

       this.mDigitalOnScreenControl = new DigitalOnScreenControl(0, CAMERA_HEIGHT - this.mOnScreenControlBaseTextureRegion.getHeight(), this.mCamera, this.mOnScreenControlBaseTextureRegion, this.mOnScreenControlKnobTextureRegion, 0.1f, new IOnScreenControlListener() { 
         @Override 
         public void onControlChange(final BaseOnScreenControl pBaseOnScreenControl, final float pValueX, final float pValueY) { 
           physicsHandler.setVelocity(pValueX * 100, pValueY * 100); 
         } 
       }); 
       this.mDigitalOnScreenControl.getControlBase().setBlendFunction(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA); 
       this.mDigitalOnScreenControl.getControlBase().setAlpha(0.5f); 
       this.mDigitalOnScreenControl.getControlBase().setScaleCenter(0, 128); 
       this.mDigitalOnScreenControl.getControlBase().setScale(1.25f); 
       this.mDigitalOnScreenControl.getControlKnob().setScale(1.25f); 
       this.mDigitalOnScreenControl.refreshControlKnobPosition(); 

       scene.setChildScene(this.mDigitalOnScreenControl); 

       return scene; 
     } 
Questions connexes