android-如何在显示器上移动字符,使其在所有设备上都以相同的速度移动

android-如何在显示器上移动字符,使其在所有设备上都以相同的速度移动,第1张

概述我正在为Android设计我的第一个2-D游戏,在游戏中,每次执行循环时,iam都会使用一个简单的表达式将字符移动20个像素       x=x20;但是,当我在分辨率为320*480,屏幕尺寸为3英寸的手机上测试游戏时,我面临的问题是,角色移动速度似乎很快,但是在平板电脑上测试角色移动速度

我正在为Android设计我的第一个2-D游戏,在游戏中,每次执行循环时,iam都会使用一个简单的表达式将字符移动20个像素
       x = x 20;
但是,当我在分辨率为320 * 480,屏幕尺寸为3英寸的手机上测试游戏时,我面临的问题是,角色移动速度似乎很快,但是在平板电脑上测试角色移动速度却很慢.
因此,我想知道如何移动字符,因此它在低端设备和高端设备上都将以相同的速度移动,请告诉我逻辑,如果用一些代码解释逻辑会更有用.

解决方法:

您的问题是您不断使用20作为移动速度.您需要生成相对于比例因子的移动速度.我不知道您如何以不同的方式处理纵横比,但是例如,我假设您使用的是信箱.

假设您使用的是信箱功能,则需要设置相对于所需分辨率的比例因子,在这种情况下为320px.因此,您应该执行以下 *** 作:

displayMetrics displayMetrics = new displayMetrics();getwindowManager().getDefaultdisplay().getMetrics(displayMetrics);int height = displayMetrics.heightPixels;double scaleFactor = height / 320.0; /*// 480.0 if you're in landscape */

然后,您可以进行以下动作:

x += 20 * scaleFactor; /*// 20 is your move speed, the scaleFactor will make sure it scales across device sizes

注意:
根据您处理水平和垂直刻度的方式,您可能需要同时考虑这两个因素,以确保整个设备的垂直和水平运动速度均一,但这应该是一个好的开始.

总结

以上是内存溢出为你收集整理的android-如何在显示器上移动字符,使其在所有设备上都以相同的速度移动全部内容,希望文章能够帮你解决android-如何在显示器上移动字符,使其在所有设备上都以相同的速度移动所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1076263.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存