- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在屏幕上有一个球 Sprite ,当我触摸并在该 Sprite 上滑动时,它必须朝特定的滑动方向移动。
我在那个球上添加了物理学。
我想做一些类似 paper toss 的事情
谁能帮帮我。提前致谢。
最佳答案
您需要重写 Sprite 的 onAreaTouched 方法,如下所示。您可以从 pSceneTouchEvent、pTouchAreasLocalX 和 pTouchAreaLocalY 变量中获取有关触摸事件的信息,并使用它们来确定移动球的方式。
不过,您不想在 OnAreaTouched 方法内对物理体施加任何力,因为对物理体的更改应该使用更新处理程序进行。我建议让 onAreaTouched 方法设置一个标志和一些其他变量,以便下次更新处理程序运行时它可以使用这些值。
更新:我添加了一些代码来帮助您确定方向。 if 语句中的注释应该解释它们何时被调用。基本上,您获得初始触摸位置( Action 向下),计算您移动到的位置( Action 移动)并使用方向在更新处理程序中施加力( Action 向上)。
mSprite = new Sprite(x, y ,mRegion, mEngine.getVertexBufferObjectManager()){
@Override
public boolean onAreaTouched(final TouchEvent pSceneTouchEvent, final float pTouchAreaLocalX, final float pTouchAreaLocalY)
{
//set flag member variable that sprite has been touched
if (pSceneTouchEvent.isActionDown())
{
//here is where the touch was initiated so you
//can store the x,y location. You obtain it by using pSceneTouchEvent.getX()
// and pSceneTouchEvent.getY()
}
if (pSceneTouchEvent.isActionMove())
{
//This will be called when you slide your finger, so you
//can get the new coordinates by again using pSceneTouchEvent.getX()
// and pSceneTouchEvent.getY()
}
if (sSceneTouchEvent.isActionUp())
{
//this will be called when you release the sprite
// and tell the update handler to apply the force
}
}
};
this.registerUpdateHandler(new IUpdateHandler(){
@Override
public void onUpdate(float pSecondsElapsed) {
//if flag is set apply a force to the physics body
//set flag to false to wait for next touch event
}
@Override
public void reset() {
}
关于android - 如何使用 AndEngine 通过在球上滑动来扔/扔球?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20540858/
我正在创建一个系统。我想知道的是,如果一个消息不受支持,它应该怎么做?我应该说不受支持的消息吗?我应该返回 0 还是 -1?或者我应该设置一个 errno (base->errno_)。有些消息我不关
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: incorrect stacktrace by rethrow 人们普遍认为,在 .NET 中,throw;
这是我第一次使用 Passport 。 当我尝试启动我的应用程序时,我不断收到此错误: passport.use(new LocalStrategy(Account.authenticate()));
假设我正在做一些在抛出异常时需要清理的事情。 比如我正在创建一个动态数组,我需要构造对象,但是它们的构造函数可能会抛出异常: size_t const n = 100; T *const p = st
我正在为一种非常简单的编程语言编写 BNF 语法,并使用 Flex 和 Bison 进行编译。 我只有 3 种变量和常量类型:实数、整数、字符串。 我的 .l 文件具有“ID”的 token 定义,如
我是一名优秀的程序员,十分优秀!