我目前正在制作一个游戏,用户通过屏幕左侧的屏幕操纵杆控制船只,并通过点击屏幕右侧进行点火.但是,我在多点触控上的尝试都没有成功.当用户首先触摸操纵杆然后触发时,它完美地工作,但是当用户在发射时触摸操纵杆时,用户无法拖动操纵杆.我仍然是android的新手所以任何帮助将不胜感激.我将粘贴下面的代码.
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction() & MotionEvent.ACTION_MASK;
int pointerIndex=(event.getAction()&MotionEvent.ACTION_POINTER_ID_MASK)
>>MotionEvent.ACTION_POINTER_ID_SHIFT;
int pI = event.getPointerId(pointerIndex);
//On screen joystick
if(event.getX(pI)<pad.getWidth()+(screenWidth*.18)&&event.getX(pI)>0&&event.getY(pI)<(screenHeight)&&event.getY(pI)>(screenHeight-(0.42*screenHeight))){
sx2=event.getX(pI)-(stick.getWidth()/2);
sy2=event.getY(pI);
angle=(Math.atan2((sy2-sy),(sx2-sx)));
}
//firing system
if(event.getX(pI)>screenWidth/3){
switch(action){
case MotionEvent.ACTION_DOWN:
incrementRunnable.run();
break;
case MotionEvent.ACTION_POINTER_DOWN:
incrementRunnable.run();
break;
case MotionEvent.ACTION_UP:
handler.removeCallbacks(incrementRunnable);
break;
case MotionEvent.ACTION_POINTER_UP:
handler.removeCallbacks(incrementRunnable);
break;
}
}
//reset joystick
if(event.getAction()==MotionEvent.ACTION_UP||event.getAction()==MotionEvent.ACTION_POINTER_UP){
sx2=sx;
sy2=sy;
handler.removeCallbacks(incrementRunnable);
}
return true;
}
Run Code Online (Sandbox Code Playgroud) 我目前正在开发一个应用程序,用户可以创建存储在服务器上的帖子.当其他用户通过单击按钮显示对帖子的兴趣时,我想使用推送通知通知帖子的作者.我已经使用Google App Engine使用云端点设置了数据存储.无论如何我可以使用这些端点来实现推送通知吗?如果没有,还有另一种简单的方法来实现推送通知给出我当前的设置?我已经在开发者页面上阅读了有关Google Cloud Messaging的内容,但有些困惑.我已经跟踪了注册ID,但我真的不知道从那里去哪里.提前致谢.
google-app-engine android push-notification google-cloud-messaging google-cloud-endpoints