首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将物理应用于Android View对象

将物理应用于Android View对象
EN

Stack Overflow用户
提问于 2014-02-07 00:47:28
回答 3查看 1.4K关注 0票数 18

我目前有一个android应用程序,它使用UI的原生android视图(例如,imageviews/按钮等)

虽然这个应用程序不是游戏,也不需要任何沉重的图形或OpenGL,但我想纳入一点与物理相关的互动。没有太大的影响,但可能会显示轻微的碰撞/反弹、减速/加速或可能的摩擦。

是否可以在android框架内或使用外部物理库(如jbox2d )进行模拟,而不必使用整个游戏引擎(如andengine、libgx等)。

附注:这是针对15+接口的

谢谢大家。

EN

回答 3

Stack Overflow用户

发布于 2015-04-21 13:18:47

只要你可以在每个框架中设置/更新UI元素的位置(例如,使用View.setTranslationX()),你就可以做到。

手动设置UI动画将意味着保持UI元素和对应于它们的物理(例如jbox2d)主体之间的映射。然后将UI元素的相应位置更新为模拟身体的每个帧的位置(如body.getPosition())。

在事件驱动的应用程序中,像Timer对象这样的东西对于调度物理更新很有用。

票数 1
EN

Stack Overflow用户

发布于 2015-04-21 23:22:32

最简单的方法(不是很灵活)是使用ViewPropertyAnimator

使用它,您甚至可以并行地对属性进行动画处理。也许你想从父级左边更改视图边距。您可以在那里更改边距,设置移动的时间等。Some examples on this blog

ValueAnimator是另一种选择,它默认使用AccelerateDecelerateInterpolator,您必须提供更改所需属性的代码。This official guide may suffice to get them working

票数 1
EN

Stack Overflow用户

发布于 2015-04-18 09:02:30

我认为这是可以实现的,至少在某个时候是可以实现的。

您可以访问一个相当完整的Animations API。最后,再加上一些视图边界、距离和可能的设备方向计算,几乎可以用来模拟您提到的所有情况。

您可以创建加速/减速、形状更改...和几乎任何你想要的动画。

你如何实现你所要求的:

具有不同的动画,一个接一个,根据视图项状态动态地创建和应用它们。状态,我指的是“物理状态”:坠落,碰撞,与另一个视图接触,等等……

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21608940

复制
相关文章

相似问题

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