Unity 2D Android-将对象限制在屏幕内

斯里拉姆·库马尔

我正在开发类似于《太空射击》的2D游戏。我为Web和PC开发了它,并且效果很好。我现在将其移植到Android,并且播放器代码有问题。

玩家(太空飞船)将位于屏幕底部,并且在屏幕内从左到右移动。我写了一段代码,将播放器限制在屏幕内,下面是代码:

private float screenx = Screen.width -20;
playerPosScreen = Camera.main.WorldToScreenPoint(transform.position);

if(Input.GetKey(KeyCode.RightArrow) && playerPosScreen.x < screenx)
{
    transform.Translate(Vector3.right * speed * Time.deltaTime * 0.4f);
}

if (Input.GetKey(KeyCode.LeftArrow) && playerPosScreen.x > 20)
{
    transform.Translate(-Vector3.right * speed * Time.deltaTime * 0.4f);
}

我知道我仍然需要转换上面代码中的一些静态值,这并不是真正的编码方法。

我的问题是如何在Android中执行此操作?我希望播放器停留在屏幕上,即,如果用户通过将其拖动到最左端来移动播放器,则无论他尝试拖动多少,播放器都应停留在屏幕的左上角,并且适用于对。简单来说,我想检测屏幕的左右边缘并将对象限制在这些边缘之内。

我的游戏将处于横向模式。

任何帮助将不胜感激。提前致谢。

ug

此类问题通常在以下庄园中解决:

if(transform.position.x < screenx) {

    transform.position.x = screenx;
}

在这里,我们正在检查转换后的播放器是否超出屏幕空间。如果是,我们将其设置为可以达到的最小值-我假设是screenx

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将对象限制为沿x轴的屏幕边缘-Unity3d

来自分类Dev

具有触摸位置Android的Unity 2D对象位置

来自分类Dev

Unity 2D Android Limit GameObject水平转换

来自分类Dev

Unity Android 2D运动问题

来自分类Dev

Unity Android触摸控件不起作用-2D

来自分类Dev

使用 UNITY 游戏引擎开发 Android 2D 游戏

来自分类Dev

朝着Unity 4.3中的位置移动2d对象

来自分类Dev

在Unity 2D中移动简单对象

来自分类Dev

Unity 2D碰撞-如何设置相互碰撞的对象

来自分类Dev

Unity2D-如何在触摸/单击/按下时旋转2D对象

来自分类Dev

Unity2D - 以网格状,定时方式移动 2D 对象

来自分类Dev

Unity3d是否有像用于2D对象的Mesh Collider之类的东西?

来自分类Dev

unity:旋转3d对象以对齐2D等距场

来自分类Dev

在3D空间中具有2D对象的Unity IDropHandler

来自分类Dev

在Unity 2d中使用坐标系和游戏屏幕吗?

来自分类Dev

Unity 2D:高对比度情况下 OLED 屏幕的残像

来自分类Dev

屏幕截图未创建| Android,Unity3d

来自分类Dev

Unity 2D 错误 Nullreferenceexception:对象引用未设置为对象 C# 的实例

来自分类Dev

对象退出门户,在Unity 2D中移动方向错误?

来自分类Dev

应用程序在Unity 4.3中的2d对象动画上崩溃

来自分类Dev

如何在Unity中找到2D游戏对象的长度

来自分类Dev

Unity 2D:销毁 + 实例化新游戏对象 vs 更改状态和精灵

来自分类Dev

我只想在 Unity 中通过触摸水平移动 2d 对象

来自分类Dev

如何通过在移动设备上触摸来更改对象属性 (UNITY) (2D)

来自分类Dev

Unity2D-如何在2D游戏中围绕圆形移动和旋转游戏对象?

来自分类Dev

带有Unity3d对象OnClickListener的Android

来自分类Dev

Unity 2d跳跃脚本

来自分类Dev

Unity 2D碰撞检测

来自分类Dev

卡在Unity 2d,12.04中

Related 相关文章

  1. 1

    将对象限制为沿x轴的屏幕边缘-Unity3d

  2. 2

    具有触摸位置Android的Unity 2D对象位置

  3. 3

    Unity 2D Android Limit GameObject水平转换

  4. 4

    Unity Android 2D运动问题

  5. 5

    Unity Android触摸控件不起作用-2D

  6. 6

    使用 UNITY 游戏引擎开发 Android 2D 游戏

  7. 7

    朝着Unity 4.3中的位置移动2d对象

  8. 8

    在Unity 2D中移动简单对象

  9. 9

    Unity 2D碰撞-如何设置相互碰撞的对象

  10. 10

    Unity2D-如何在触摸/单击/按下时旋转2D对象

  11. 11

    Unity2D - 以网格状,定时方式移动 2D 对象

  12. 12

    Unity3d是否有像用于2D对象的Mesh Collider之类的东西?

  13. 13

    unity:旋转3d对象以对齐2D等距场

  14. 14

    在3D空间中具有2D对象的Unity IDropHandler

  15. 15

    在Unity 2d中使用坐标系和游戏屏幕吗?

  16. 16

    Unity 2D:高对比度情况下 OLED 屏幕的残像

  17. 17

    屏幕截图未创建| Android,Unity3d

  18. 18

    Unity 2D 错误 Nullreferenceexception:对象引用未设置为对象 C# 的实例

  19. 19

    对象退出门户,在Unity 2D中移动方向错误?

  20. 20

    应用程序在Unity 4.3中的2d对象动画上崩溃

  21. 21

    如何在Unity中找到2D游戏对象的长度

  22. 22

    Unity 2D:销毁 + 实例化新游戏对象 vs 更改状态和精灵

  23. 23

    我只想在 Unity 中通过触摸水平移动 2d 对象

  24. 24

    如何通过在移动设备上触摸来更改对象属性 (UNITY) (2D)

  25. 25

    Unity2D-如何在2D游戏中围绕圆形移动和旋转游戏对象?

  26. 26

    带有Unity3d对象OnClickListener的Android

  27. 27

    Unity 2d跳跃脚本

  28. 28

    Unity 2D碰撞检测

  29. 29

    卡在Unity 2d,12.04中

热门标签

归档