首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在android中设计D-PAD键盘?

如何在android中设计D-PAD键盘?
EN

Stack Overflow用户
提问于 2012-05-15 21:13:46
回答 1查看 5.4K关注 0票数 0

我想在安卓.I中设计D-PAD键盘,请参阅安卓中的用户配置。我不知道怎么用它。给出一些代码

EN

回答 1

Stack Overflow用户

发布于 2012-05-15 21:15:48

不要再从头开始发明轮子了,只要使用和引擎就行了:

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

并在onLoadScene()中加载所需的所有内容

代码语言:javascript
复制
@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;
        }
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10601479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档