繁体   English   中英

iPhone游戏的iPhone视图/触摸问题

[英]iPhone View / Touch questions for iPhone game

我一直在读三本书(iPhone游戏开发,iPhone烹饪书和iPhone的开始开发),但是到目前为止,我还没有找到问题的答案,所以我希望这里有人可以帮助我。

例如,假设我要在屏幕上有一个操纵杆和三个按钮。

我需要所有这些永久可见的屏幕底部,并且不占用任何游戏渲染区域,即不覆盖在游戏上。

好?

现在,据我所知,一种方法是(如果我正确理解的话)是破坏这四个控件,并将每个控件放在其自己的视图(或子视图)上,并使另一个控件具有透明度控件在每一层上...

因此,第1层将具有操纵杆和操纵杆周围的背景,但在其右侧有一个透明部分...

该图层下面的图层将是透明的(在上方)操纵杆所在的位置,然后具有该按钮的位图,然后在该按钮的右侧再次透明...等等,对于其他每个图层/按钮,依此类推。

这样,我就有了用于触摸测试的层次结构,如果它位于透明区域中,则发送到下一个子视图。

但是,等到我有了游戏渲染和得分等...我正在看大约7个视图...

所以我的问题是:

  1. 这是最好的(最佳)方法吗? 如果没有,那怎么办?

  2. 子视图或仅多层视图对View的性能或SDK有限制吗?

  3. 可以在一层/视图上完成所有这些操作吗?-请记住,随着可以按下一个或多个按钮,操纵杆将在同一时间沿所有方向移动。 因此,通过同时按下屏幕右侧的按钮可以检测到错误的“捏”手势,同时将操纵杆从该手指按下处移开了。

如果可以的话请帮忙。

如果我对此过于复杂或感到困惑,请原谅我-我发现很难“自学”自己的东西...如果我的解释令人困惑,请告诉我,我将尝试重写它们。

谢谢

据我了解,您要求UIKit在7个重叠的视图中合成位图,而不是自己将其合成为1个图像。 您还将获得通过一系列命令传递点击的“好处”。

我会用一个视图来做-每次更改时将位图绘制到一个图像中-甚至在主图形区域的顶部绘制操纵杆/按钮控制位图。 (您可能还希望使控件的大小可调,并缩放图像。)

与对单个图像中所有控件的已知矩形进行的单击测试相比,对每一层的非透明区域进行的单击测试似乎没有那么简单。 我认为这段代码最终会更清晰-对象更少。

至于“捏”,触摸的起点应确定要触摸的控件,而touchesMoved数据则确定要去的位置。 不要使用touchesMoved数据来启动新的按钮按下。

就是说,我在OpenGL中做所有事情,所以我习惯于管理自己的图层。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM