Android andengine运动事件视图和摄影机
我将此代码用于显示两个视图mRenderSurfaceView和gestureoveryview:Android andengine运动事件视图和摄影机,android,view,camera,andengine,Android,View,Camera,Andengine,我将此代码用于显示两个视图mRenderSurfaceView和gestureoveryview: relativeLayout = new RelativeLayout(this); final FrameLayout.LayoutParams relativeLayoutLayoutParams = new FrameLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT , Relati
relativeLayout = new RelativeLayout(this);
final FrameLayout.LayoutParams relativeLayoutLayoutParams = new FrameLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT , RelativeLayout.LayoutParams.FILL_PARENT );
gestureOverlayView = new GestureOverlayView(this);
gestureOverlayView.setEnabled(true);
this.mRenderSurfaceView = new RenderSurfaceView(this);
this.mRenderSurfaceView.setRenderer(mEngine);
surfaceViewLayoutParams = new RelativeLayout.LayoutParams(super.createSurfaceViewLayoutParams());
gestureOverlayView.addOnGesturePerformedListener(this);
relativeLayout.addView(this.mRenderSurfaceView, surfaceViewLayoutParams);
relativeLayout.addView(gestureOverlayView, 1248,1152);
gestureOverlayView.setVisibility(View.GONE);
this.setContentView(relativeLayout, relativeLayoutLayoutParams);
我是这样画的:
@Override
public boolean onTouch(View v, MotionEvent paramMotionEvent) {
//TODO Auto-generated method stub
if(paramMotionEvent.getAction() == MotionEvent.ACTION_DOWN) {
isDrawing = true;
}
//TouchEvent
if(paramMotionEvent.getAction() == MotionEvent.ACTION_UP) {
isDrawing = false;
rec = new Rectangle[250];
Arrays.fill( rec, null );
irec=0;
}
if (isDrawing = true) {
if (rec[249]!=null){
return false;
}
rec[irec] = new Rectangle(paramMotionEvent.getX(), paramMotionEvent.getY(), 1, 1);
if (irec != 0) {
Line l = new Line(rec[irec-1].getX(), rec[irec-1].getY(), rec[irec].getX(), rec[irec].getY());
l.setColor(0.5f, 1f, 0.3f);
mScene.attachChild(l);
}
irec++;
}
return true;
}
在OnloadScene i中,这个gestureOverlayView.setOnTouchListener(这个)代码>
我的场景是1248*1152,问题是如果我在左上角,公共布尔onTouch可以正常工作,但如果在场景中向下移动或向右移动,则绘制的是移位。如何使视图具有良好的宽度和高度(我想这就是问题所在,这会保持相机比例)
如果我使用mScene.setOnSceneTouchListener,则绘制的是ok,但手势不起作用…由velocityOnScreenControl.attachChild(l)解决;of(private AnalogOnScreenControl velocityOnScreenControl;)使用AnalogOnScreenControl示例。在公共布尔onDoubleTap(MotionEvent e){i同样的问题,我无法恢复数据getY()、getX()、getRawY()或getRawX()正确..velocityOnScreenControl不好objet随相机移动…如果在屏幕左上角出现此附加场景,也许可以帮助我?