我写了一个相当简单的java应用程序,它允许你拖动你的鼠标,并根据你所做的鼠标拖动的长度,它将向那个方向射击一个球,随着它的移动而从墙壁上弹回.
这是一个快速截图:
替代文字http://img222.imageshack.us/img222/3179/ballbouncemf9.png
屏幕上的每个圆圈都是Ball对象.球运动被分解为x和y向量;
public class Ball {
public int xPos;
public int yPos;
public int xVector;
public int yVector;
public Ball(int xPos, int yPos, int xVector, int yVector) {
this.xPos = xPos;
this.yPos = yPos;
this.xVector = xVector;
this.yVector = yVector;
}
public void step()
{
posX += xVector;
posY += yVector;
checkCollisions();
}
public void checkCollisions()
{
// Check if we have collided with a wall
// If we have, take the negative of the appropriate vector
// …Run Code Online (Sandbox Code Playgroud) 我在希伯来语上有TextView,我想要在右侧,所以我正在做
<TextView....
android:gravity="right"
</TextView>
Run Code Online (Sandbox Code Playgroud)
在某些手机上它将与右侧对齐,而在某些手机上它将与左侧对齐.我认为这取决于一些手机配置.我怎么能解决它?
谢谢.
你好,我面临一个小问题
我正在使用GRAVITY LEFT使我的文本成为视图左侧的一个对齐但我想在textview中居中但在左边部分对齐
这就是我现在拥有的:
___________________________________
_ _ _ _ _ _| aaaaaaaaaaaaa |_ _ _ _ _ _
_ _ _ _ _ _| aaaaaaaa |_ _ _ _ _ _
_ _ _ _ _ _| aaaaaaaaaaaaaa |_ _ _ _ _ _
-----------------------------------
Run Code Online (Sandbox Code Playgroud)
我想要的是:
___________________________________
_ _ _ _ _ _| aaaaaaaaaaa |_ _ _ _ _ _
_ _ _ _ _ _| aaaaaaaa |_ _ _ _ _ _
_ _ _ _ _ _| aaaaaaaaaaaaaa …Run Code Online (Sandbox Code Playgroud) 我正试图操纵一个物体.当它接近另一个物体时,让我们说一个地球仪,我希望地球对原始物体有一个引力.我知道我应该使用CCBezierTo,所以这不是一个编程问题,因为它是一个数学问题.
在数学上,我怎么能找出贝塞尔曲线的三个点(1,2和结束)并根据它的距离赋予它一个权重(更远的距离=更少的拉力).我已经在变量中绘制了距离.
想象一下在月球周围弹射的宇宙飞船.
码:
ccBezierConfig bezier;
bezier.controlPoint_1 = ccp(projectile.position.x + 10, projectile.position.y + 20);
bezier.controlPoint_2 = ccp(projectile.position.x + 20, projectile.position.y + 40);
bezier.endPosition = ccp(projectile.position.x + 30, projectile.position.y+60);
id bezierAction = [CCBezierTo actionWithDuration:1 bezier:bezier];
[projectile stopAllActions];
[projectile runAction: bezierAction];
Run Code Online (Sandbox Code Playgroud) 我遇到了问题我不知道是什么原因造成的.我有一个非常简单的布局,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/my_text_view"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="NOTE_THIS"
android:textColor="#FFFFFF"
android:textSize="22dp"
android:text="TestText"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
它包含在另一个布局中.如果我改变xml内部的重力,我会在Layout-Editor和手机上看到相同的结果.如果我想以编程方式应用Gravity,myTextView.setGravity(Gravity.CENTER)那就不会改变任何东西.我不能在TextView上用Java设置LayoutGravity
我会尝试将调试目的包括在内,每次使用另一个重力,它甚至可以工作.所以我认为我的布局一切都没问题,并且必须有一个Bug或其他我想念的东西.有人可以给我一个提示,我也可以尝试,或者是什么原因导致这个问题?
我有一个功能,通过第三方服务处理销售,处理结果并返回状态为"成功"或"无效"的数组.此销售调用是使用应用于特定表单的gform_after_submission挂钩进行的.
我需要做的是将数组中的"Success"或"Invalid"结果存储为变量,我稍后可以使用gform_validation钩子将其传递给函数以验证或使信用卡字段无效.
我在函数中声明变量,如下所示:
function foo {
...code to sell product through API...
$status = $checkoutShoppingCartRequest['Result']['Status'];
}
Run Code Online (Sandbox Code Playgroud)
当我在函数中打印变量$ status时,它显示成功或无效.
这是我需要使用此变量的其他函数,传递给gform_validation,无论Success或Invalid result,都会每次都失败:
function MBvalidate( $validation_result ) {
$form = $validation_result['form'];
if ( $status !== "Success") {
$validation_result['is_valid'] = false;
foreach( $form['fields'] as &$field ) {
if ( $field->id == '34' ) {
$field->failed_validation = true;
$field->validation_message = 'Your credit card could not be processed.';
break;
}
}
}
//Assign modified $form object back to the validation result
$validation_result['form'] = $form;
return $validation_result; …Run Code Online (Sandbox Code Playgroud) 对于一个项目,我和我的团队一直在尝试使用内置的加速度计和WiiMotion Plus陀螺仪在3D空间中跟踪wiimote.
我们已经能够使用ODE(在http://www.alglib.net/上找到)跟踪旋转和位置,但是我们遇到了从加速度计中移除重力分量的问题.
我们研究了具有公式的Accelerometer重力组件(在C#/ XNA中实现)
private Vector3 RemoveGravityFactor(Vector3 accel)
{
float g = -1f;
float pitchAngle = (Rotation.Z);
float rollAngle = (Rotation.Y);
float yawAngle = (Rotation.X);
float x = (float)(g * Math.Sin(pitchAngle));
float y = (float)(-g * Math.Cos(pitchAngle) * Math.Sin(rollAngle));
float z = (float)(-g * Math.Cos(pitchAngle) * Math.Cos(rollAngle));
Vector3 offset = new Vector3(x, y, z);
accel = accel - offset;
return accel;
}
Run Code Online (Sandbox Code Playgroud)
但它根本不起作用.作为参考,加速度直接来自加速度计,并且在通过ODE工作之后以旋转角度测量旋转.
此外,我们在理解这个公式是如何工作方面遇到了问题.由于我们的跟踪考虑了所有维度,为什么不考虑Yaw?
提前感谢您提供的任何建议或帮助.
编辑:
在与我的队友和老板讨论之后,我们发现如果我们正确使用X,Y和Z,这个公式实际上会有效.我们来到另一个树桩了.
我们遇到的问题是我们正在使用的Wiimote库根据陀螺仪运动返回相对旋转值.换句话说,如果按钮朝上,左右旋转wiimote是偏航,如果按钮面向你,当它应该是整个wiimote的旋转时,偏航是相同的.
我们发现欧拉角可能是我们的答案,但我们不确定如何恰当地使用它们.如果对此新开发项目有任何意见或任何其他建议,请给予他们.
我正在尝试实现重力,其中包括通话时间,以及加速度.
我尝试过使用通常的重力,看起来像这样:
velocity += gravity * dt;
position += velocity * dt;
Run Code Online (Sandbox Code Playgroud)
对于正常的平台游戏来说,这可能足够好了,但是我试图让游戏受到"直升机游戏"的启发,在那里你必须穿过隧道,而不要碰到墙壁.
我想要做的不同的是,我希望能够在下降的过程中节省速度,这将在上升的过程中使用,所以我将在开始时加速.
我也想要一些通话时间,所以如果我使用了代码示例中的重力,那么当你触及顶部时它不会像你那样快速地降低你的速度.
这张图片说明了我想要的曲线:
请注意,整个控制是通过一把钥匙完成的,所以例如,如果您按住空间,您将飞起来,如果您释放空间,则会潜水.
角色也不会向左或向右移动,因为它在屏幕上会有一个静态X位置,因此不能使用矢量.
我花了好几个小时试图让它工作,但没有成功.我也试过在互联网上搜索,但没有任何运气.
游戏"鲸鱼小道"得到了我想要的引力.
这是一个游戏视频的链接:http://www.youtube.com/watch?v = 50Q0OWcuDJs
我不是那么大的物理家伙,所以如果你能给出一个例子,它会很酷实际代码
我希望任何人都可以帮我解决这个问题.
我很抱歉,如果这是重复但我找不到任何我正在寻找的东西.基本上,我想将文本视图中的文本对齐到顶部中心.如果可能的话,我想用XML做到这一点.所以我想结合起来
android:gravity="center"
Run Code Online (Sandbox Code Playgroud)
和
android:gravity="top"
Run Code Online (Sandbox Code Playgroud)
这样它就可以与两者对齐.我已经尝试将两个属性放在文本View元素中,但它只是给出了一个错误.