我最近一直在考虑在排序算法中使用面向对象的设计.然而,我无法找到一种合适的方法来进一步制作这种在O(n)时间内进行排序的排序算法.
好的,这是我一周以来的想法.我有一组输入数据.我将为每个输入数据分配一个质量(假设输入数据的类型Mass和类型Sphere.如果我们假设所有对象都是完美的球形物体,其形状与其质量成比例,则最重的物体首先接触地面.).我将把所有输入数据放在距离地球相同距离的空间中.我会让他们自由落体.根据引力定律,最重的一个首先击中地面.它们命中的顺序将为我提供排序数据.这在某种程度上很有趣,但在下面我觉得应该可以使用我迄今为止学到的OO
真的有可能制作一种使用引力拉动场景的分类技术,还是我愚蠢/疯狂?
编辑:同时关闭所有撞击地面的物体,因此我引入了球形物体概念.
我试图居中TextView的LinearLayout,它是horizontaly而不是垂直居中.
下面是我的代码
<LinearLayout
android:orientation="vertical"
android:layout_width="320dp"
android:layout_height="50dp"
android:background="@drawable/rectblack"
android:layout_marginTop="10dp"
android:layout_gravity="center"
android:minWidth="25px"
android:minHeight="25px">
<TextView
android:text="Explode a Vin"
android:gravity="center"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/tvExVin" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
最后,我希望它垂直居中于左边Linearlayout,如果有人能弄明白怎么做,那就太好了.
谢谢!
我正在开发一个Android应用程序,我需要从加速度计读数中删除重力.我已经阅读了关于这个问题的多个讨论,我也在这里找到了一个算法,但我并没有真正理解它.
我想从每个轴过滤重力,而不是从总加速度过滤.
你能帮帮我吗?我的代码应该是这样的:
public void onSensorChanged(SensorEvent sensorEvent) {
float vals[] = sensorEvent.values;
float accelerationX = filterGravity(vals[0]);
float accelerationY = filterGravity(vals[1]);
float accelerationZ = filterGravity(vals[2]);
}
Run Code Online (Sandbox Code Playgroud)
我应该在filterGravity()方法中放置什么代码?
我使用TableLayout和TableRows作为我的主要活动.
TableLayout内部是一个Radio Group,在活动中包含2个Radio Buttons(Radio Group在表行内).我希望能够将最右边的单选按钮对齐到右边缘屏幕,因此"间隙"位于左侧单选按钮和右侧按钮之间(而不是右侧单选按钮之后).即
所以没有
| (x)(x)间隙|
我将
| |(x)gap(x)|
其中(x)是单选按钮和| 是屏幕的边缘
我可以使用重力(center_horizontal)将两个按钮放在中间(即| gap(x)(x)间隙|)但是我似乎无法按照我之前所说的方式将它们分开
在Android中,我使用单行edittext,重力设置为居中.在模拟器中,这个功能很好,提示和闪烁的光标都显示出来.在设备上测试(Xperia X10)时,提示文本和闪烁光标都不会显示.闪烁的光标仅显示我是否在edittext中输入了一些文本.
这是我的编辑文本,任何人都可以看到是否缺少某些东西?
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_gravity="center"
>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:ellipsize="end"
android:maxLines="1"
android:gravity="center"
android:layout_gravity="center"
android:hint="Some hint text"
></EditText>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我想要的是:

我用上面的代码得到了什么(没有游标的空edittext):

我正在为游戏开发2D物理引擎.我有引力和群众工作,使用一种简单的迭代方法(我知道我最终必须升级); 我可以手动推动群众,看着他们移动,这一切都按照我的预期运作.
现在,我正试图通过围绕行星的简单圆形轨道中的卫星提前建立游戏世界.为此,我需要根据行星的质量和所需的距离计算卫星的初始速度矢量; 这应该是微不足道的,但我不能为我的生活让它正常工作.
标准物理教科书告诉我,围绕质量M的圆形轨道中物体的轨道速度为:
v = sqrt( G * M / r )
Run Code Online (Sandbox Code Playgroud)
然而,在应用了适当的矢量后,卫星的速度不够快,并且处于一个尖锐的椭圆轨道上.随机修补显示,在一种情况下,它的关闭时间约为3倍.
我的重力模拟代码使用传统的:
F = G M m / r^2
Run Code Online (Sandbox Code Playgroud)
我的宇宙中G被设置为1.
有人可以向我确认这些方程式仍然存在于2D空间吗?我看不出任何原因,但在这一点上我真的想知道问题是在我的代码还是我的假设......
更新:我的物理引擎的工作原理如下:
for each time step of length t:
reset cumulative forces on each object to 0.
for each unique pair of objects:
calculate force between them due to gravity.
accumulate force to the two objects.
for each object:
calculate velocity change dV for this timestep using Ft / m.
v = v + dV. …Run Code Online (Sandbox Code Playgroud) 我一直在研究android xml的.我习惯于android:layout_gravity="center"在特定位置对齐组件.
现在有一天,当我在像Activity这样的Dialog上工作时,我遇到了android:gravity="center".我在那里找到的,gravity用于使其child与特定位置对齐.
我会分享一个例子,
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:orientation="vertical" >
<EditText
android:id="@+id/enterNumberEdit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:hint="Enter No." >
<requestFocus />
</EditText>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
它使LinearLayout中心的孩子对齐.
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:orientation="vertical"
android:background="@drawable/dialog_background" >
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
它将LinearLayout自身对准中心.
现在我的问题是:
gravity适用于子组件并且layout_gravity是父组件.gravity结束layout_gravity.到目前为止,我已经找到了很多关于xml的解释.我想听听更好的解释.如果我错了,请告诉我
重力游戏如何处理玩家,怪物,物体和地板等移动物体之间的关系?玩家是否经常"落入"地板并被反弹回来?
我发现的两种对碰撞作出反应的方法是将玩家移回到碰撞前的前一个位置,并在移动之前测试新位置以查看是否会导致碰撞,但我看不出这些中的任何一种可以处理一个向上升起并且需要能够提升玩家的平台.我从2D游戏设计的角度来看这个,但我想3D游戏设计中也会出现同样的问题.任何提示?我应该查看的任何参考文献?谢谢.
我试图在RelativeLayout一个基础上水平居中几个视图.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_horizontal"
android:background="@android:color/transparent" >
Run Code Online (Sandbox Code Playgroud)
这不起作用.我已centerInParent到true了一个视图,并且做了工作.但是,我无法使用此解决方案,因为我有两个并排的视图需要集中在一起.试图优化这个,所以我想避免嵌套布局,特别是线性,彼此内部.
有什么明显的东西让我失踪吗?我认为这个属性是针对这种情况做出的.
如何动态设置重力?
Bitmap bmp;
im = new ImageView (this);
bmp=getbmp(img);
im.setImageBitmap(bmp);
Run Code Online (Sandbox Code Playgroud)
现在我想将图像放在顶部.我可以android:gravity在main.xml中执行此操作吗?
编辑:
main.xml中
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:scrollbars="vertical"
>
</ScrollView>
Run Code Online (Sandbox Code Playgroud)
我有一个框架布局,我添加了图像,然后文本,我希望图像在屏幕的顶部.
FrameLayout fm = new FrameLayout (this);
fm.addView(im);
fm.addView(fin); // fin = the text view
setContentView(fm);
Run Code Online (Sandbox Code Playgroud) gravity ×10
android ×7
xml ×2
2d ×1
algorithm ×1
center ×1
cursor ×1
game-physics ×1
image ×1
oop ×1
orientation ×1
physics ×1
radio-button ×1
radio-group ×1
sorting ×1
textview ×1
view ×1