- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在使用 Storyboards 在 swift 上构建一个游戏。该游戏的核心是通过捕捞龙虾来赚取收入。用户拥有龙虾 jar ,可以将其放置在近岸或较亮的水域区域。没有任何经验。我对如何快速编码知之甚少。
我目前的问题是理解碰撞检测。用户可以将 jar 拖入屏幕的三个区域。第一个屏幕是龙虾 jar 的起始位置,玩家必须将龙虾 jar 拖到近海或近海位置。目前,我已经成功编写了拖放 jar 的操作代码,因此可以将它们放置在屏幕上的任何点。我希望做的是,当盆落在近岸或离岸盒子的区域内时,能够使盆卡入到位。此外,当花盆放到适当的位置时,我希望它们排成一排,间隔相等,并在下面排成一排,填满盒子。
图像 -
我想我还应该提到背景是一个 ImageView ,是游戏运行时 View 的屏幕截图。我这样做是为了避免分层,因为一些花盆有时会在拖动盒子时移动到盒子后面。
提前致谢。
最佳答案
这里有一些想法:
您已经有了移动图 block 的代码,这很好。您现在所需要的只是相同的数学。虽然你的背景是图像,但你还需要一些数据模型来保存你的东西在哪里(或者你的花盆属于哪里)。了解彩池是否在“我的彩池”、“Inshor”或“Outshore”中非常重要。此信息必须保存在某些对象中,例如“myPots”和“inshore”等。
因此,拖动不仅可以移动屏幕上的花盆,还可以更改花盆所属的位置。
提示:可以使用不可见区域来表示区域(myPots,...)。看不见,因为你已经有了背景。但是不可见的矩形使您能够调整 ui 的大小,而无需复杂的重新计算。
我会这样划分区域:
坐标只是为了更好地理解的示例。
大多数游戏引擎都使用左上角的坐标 (0,0)。
因此,如果您拖动并释放一个 jar ,您必须计算拖动的终点并将其与您的面积进行比较。不需要复杂的碰撞检测,因为您只需测试一个点是否在一个区域中。但如果您想要碰撞检测,请搜索 AABB 碰撞检测(如此处 https://studiofreya.com/3d-math-and-physics/simple-aabb-vs-aabb-collision-detection/ )。
就您而言,做出决定就足够了:
if draggedPot.endCoordinate.y > 100 {
// in or out shore
if draggedPot.endCoordinate.x > 300 {
// outshore
}
else {
// inshore
}
}
else {
// still in myPots
}
我希望你明白:)
对于排列成一行,这也需要一些数学知识。循环一个区域中的花盆,一个接一个地放置,始终start-x + width-of-pot + some space
。如果这大于区域的宽度,请将 y 设置为锅的高度 + 一些空间
,并且 x 从零开始。
关于ios - 当我将框拖放到屏幕的某些区域时,如何才能将它们固定到位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49027739/
我有一个带有 H264 身份验证的 RTSP 流的 URL - MPEG-4 第 10 部分编解码器。 Lik 看起来像这样:rtsp://login:pass@xxx.xxx.xxx.xxx:557
我正在开发移动应用程序。现在,我将访问 token 放在SharedPrefences上。我想问一下SharedPrefences上的存储访问 token 是否安全?如果没有,最好的做法是在哪里放置访
一个 UITableView,它有 20 行的 UITableViewCell,每一行都有一个按钮,单击按钮我想将 UITableViewCell 放到 UITableView 的底部。 是否有任何委
我有这样的代码。我删掉了所有的细节,但是这个文本区域会在按下按钮后发生变化,而它所做的只是改变了文本区域。没有添加滚动。我什至尝试将滚动策略设置为始终,但它返回错误。此面板将添加到另一个带有 Bord
我想在 NSString 中有 src="字符。 但我不能这样做,因为 "是 Objective C 的一部分。 我想这样做: NSString * name = [ [NSString alloc]
非常新手的问题,我是 html 的新手,特别是 highcharts 的东西。所以首先,我制作了这个 test.php 来显示图表。 Highcharts Exampl
如何将我的 fab 放在我的 fragment 上?请帮助我收到错误,例如。 android.view.InflateException: Binary XML file line #13: Erro
我已经完成了一个unity的迷你游戏,名为“penguins_test”。我导出了 2 个文件: penguins_test.html penguins_test.unity3d 现在,我想使用 Go
有谁知道如何将 uiviewcontroller(或只是 View )添加到 cocos2d 层上? 最佳答案 是这样的: [[CCDirector sharedDirector].view addS
我知道您可以采取一些技巧,将 HTML 元素放在 Silverlight 应用程序的顶部,但这无法全屏显示。有没有办法在 Silverlight 应用程序中显示 html 页面? 最佳答案 http:
从 Golang 教程中我不清楚如何将 Golang 代码放到 Github 以便以后能够从 Github 将该代码作为包导入。 这是来自 Golang 教程 http://golang.org/do
我围绕 Pygame 构建了我的整个游戏,并想把它放到 Steam 上。最后我了解到我需要 OpenGL 支持才能运行 Steam 的叠加层。初始化显示的代码: screen = pygame.dis
我需要将已编译的 apk 文件复制到作业 artifats,以便在成功时能够直接从作业页面下载它。 现在我已经在文件夹 build/apk/MyProject-release.apk 中编译了 apk
我愿意在本地和 Heroku 上处理不同的设置。所以我在 settings.py 的末尾使用了这个导入: try: from local_settings import * except Im
我是安卓新手。这个问题是我尝试使用 Android 应用程序和 Web 服务的步骤中的一个阶段。我之前问过一个问题,在这里:Fail to connect android to web service
我是 Git 新手。我刚刚在我的计算机上创建了一个 Git 存储库。现在我想将该存储库连接到网站 (GitHub) 并将我的代码推送到那里。 我该怎么做?我有点熟悉......我必须以某种方式将在线代
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: How to use an existing database with an Android applic
如何在浏览器选项卡上显示标签名称? :( 帮我我想将我的标签显示为选项卡,有什么技巧吗? 技巧 - ABC 技巧 - 最佳答案 是的,您可以使用 在浏览器选项卡中显示标签名称 示例标题代码:
我需要 Tomcat 上的 JAX-WS 运行时。 把“jax-ws/lib/*”放到“tomcat/lib”里可以吗? 如果将 jax-ws/lib 放入 tomcat/lib,是否需要 Tomca
我已经在Win10系统中安装了hadoop-2.5.2和eclipse neon.1a,但是我把“hadoop-eclipse-plugin-2.5.2.jar”放到/eclipse/plugins后
我是一名优秀的程序员,十分优秀!