Libgdx box2d问题与尺寸和相机缩放

时间:2015-12-01 13:15:21

标签: android libgdx box2d dimensions

我遇到-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { //UITextField *tf_phonenumber,*tf_userid; if (textField.text<=10) { char c=*[string UTF8String]; if (tf_phonenumber==textField) //PhoneNumber /Mobile Number { if ((c>='0' && c<='9')||(c==nil)) { return YES; } else return NO; } if (tf_userid==textField) //UserID validation { if ((c>='a' && c<='z')||(c>='A' && c<='Z')||(c==' ')||(c==nil)) { return YES; } else return NO; } return YES; } else{ return NO; } } 的问题。我制作了一个简单的2D游戏,玩家向敌人射击。我读到Box2D中的1个统一相当于1米所以我应该使用小尺寸。我将世界尺寸设置为160x90,但问题在于:

使用小尺寸我必须缩放设置为1280x720的相机,但正如您所看到的那样,形状有很大的质量下降,并且身体的运动也不再流动。即使世界步伐为1/300,最大速度仍然太慢!

declare cursor c1 is <select your thing from table>; begin for r1 in c1 loop dbms_output.put_line (r1.firstcolumn|| r2.anothercolumn ); end loop; end; 已启用,缩放设置为0.125,您看到的正方形每边10个单位。

http://imgur.com/oGYvuNv

这是相机代码

Box2D

以下是绘制圆圈的类的代码

Vsinc

2 个答案:

答案 0 :(得分:2)

不要使用PPM,我知道您可能已经看过很多使用PPM的教程,而是使用虚拟像素或马铃薯像素作为相机和box2d。在这里阅读这个精彩的article和这个answer。例如:

OrthographicCamera camera = new OrthographicCamera(20, 11);

此处20是WIDTH的任意数字,HEIGHT实际应为WIDTH*Gdx.graphics.getHeight()/Gdx.graphics.getWidth()。 您不需要设置任何缩放级别,将其保留为默认值。

答案 1 :(得分:0)

您不必使用缩放来处理此问题 在这里我做了什么,它对我来说非常好

camera = new OrthographicCamera(SCREEN_WIDTH/PPM, Config.SCREEN_HEIGHT/PPM);

// fix camera to the center of the screen
camera.position.set(Config.SCREEN_WIDTH/PPM/2f, Config.SCREEN_HEIGHT/PPM/2f, 0);

camera.update();

我将转换单位(PPM)设为100

希望这很有帮助

祝你好运