在使用Sprite Kit以及Sprite Kit的内置物理引擎中的接触检测的iOS游戏中,每当他与敌人接触时,我将Hero的数量减少一个.这是通过该didBeginContact
方法完成的.然而,似乎这种方法不仅仅是在接触开始时调用一次,而是在Hero和敌人重叠时连续调用:当我在该方法中设置断点时,我可以看到,它是完全相同的以contact.bodyA
和存在的物理体实例contact.bodyB
.结果是,英雄将失去多重生命,即使他只通过一个敌人.
如果Hero稍后再遇到同一个敌人,他应该减去一个实际的生命,因此我不能只维持一个seenEnemies
哈希集来处理上面的问题.
现在的问题是:你如何确保每个英雄/敌人联系人只减去一个生命?
与我的java源代码一起,我有一些数据文件,我想在构建源代码时将其复制到构建目录.目前我没有使用任何构建工具(例如maven或ant),而是仅在Eclipse中开发和运行单元测试.我可以以某种方式要求Eclipse在构建我的java代码时复制这些数据文件吗?
在AppScale主页上,有一个指向其" 文档"页面的链接.但是,此页面仅包含有关的文档
我发现它有些任意结构,但更重要的是:我没有看到所有基本文档的位置.它只是结构不合理,还是实际上没有?例如,我找不到以下内容:
简而言之,我真的很想念一些关于AppScale如何工作,如何连接所有内容以及我应该如何使用它的文档.也许我只是看错了地方?
常规SQL解析器(GSP)是一个功能相当丰富的SQL解析器(在我使用它的程度上),允许通过更改解析树本身以健壮的方式修改SQL语句.此外,它支持大多数流行数据库的SQL风格.然而,GSP的一个很大的缺点就是它可怕,简直可怕,记录:javadoc主要由原始方法和属性名称组成(几乎没有注释),实际上没有文档概述核心功能和含义最重要的属性和方法; 而且看起来他们刚刚将所有内容都暴露为公共成员,因此通过查看API非常难以掌握.唯一的文档是一堆实际示例,您必须自己反向设计API调用的含义.
我不喜欢用这样的库生产生产关键软件.因此,由于上述原因,我宁愿使用另一个解析器,但遗憾的是未能找到具有类似功能并支持多种SQL风格的任何替代方案(对于java).
在那里有没有可比的(!)替代GSP的替代品?
在Java世界中,有一个bean验证框架JSR-303,它是一个很好的深思熟虑的策略,用于在应用程序的表示层和持久层中执行数据验证.它涵盖了很多内容,包括整个图模型的验证,验证域分组,i18n等.
我没能在C#中找到任何数据模型验证框架.在C#中有没有类似于JSR-303的东西?
我有一个查询,它使用嵌套循环等同连接两个表,TableA和TableB.因为"相等" -join contraint的,所有行中的结果返回,因此将来自每个这两个表的对应于至少一排.但是,根据计划(EXPLAIN ANALYZE),即使在最终结果中返回一行,实际行数也是TableB中的0.这里的实际行数如何等于零?
这是执行计划:
=> explain analyze select p.id, p.title, s.count from products p, stock s where p.id = s.p_id and s.w_id = 6 and p.type = 9 and s.count > 0 order by p.title;
QUERY PLAN
------------------------------------------------------------------------------------------------------------------------------
Sort (cost=42.42..42.42 rows=2 width=36) (actual time=0.198..0.199 rows=1 loops=1)
Sort Key: p.title
Sort Method: quicksort Memory: 25kB
-> Nested Loop (cost=0.00..42.41 rows=2 width=36) (actual time=0.170..0.181 rows=1 loops=1)
-> Seq Scan on products p (cost=0.00..9.25 rows=4 width=32) (actual time=0.068..0.106 rows=4 loops=1) …
Run Code Online (Sandbox Code Playgroud) 我试图了解NServiceBus如何在各种情况下扩展,但我没有找到足够的信息.
通常,在发布/接收方案中,在pub/sub场景中扩展NServiceBus(和底层传输)似乎不同.此外,无论是扩展消息发射系统还是扩大"吸收"系统,似乎都有所不同.
考虑将MSMQ作为传输层和NServiceBus置于顶部的设置,并假设我们将使用队列MyQueue
作为从发射系统到吸收系统的通信通道(通过发送/接收或发布/订阅).如何在以下方案中展开横向扩展设置?我试过在下面提出一些答案,但我不确定.
发射系统未缩放; 吸收系统未缩放:这是一个简单的设置,两端有一个端点,接收器有一个单独的队列.
两个系统的订阅存储:MSMQ
发射系统未缩放; 吸收系统缩放:吸收系统中的单个节点,即端点,被"提升"为分发器,并且许多工作节点从该单个分发器节点获取消息.
如果吸收系统订阅或接收,它会有所不同吗?
分销商也可以扩大规模吗?
该文件建议使用单独的队列名称,不过,是不是混乱,如果发送/出版系统要关心天气的接收系统向外扩展或没有?从发送者的角度来看,我认为接收者的横向扩展应该是透明的.
两个系统的订阅存储:MSMQ?当被存储在订阅?在经销商处?
发射系统缩放; 吸收系统未缩放:发射系统中的多个节点可以发送到未缩放的吸收系统,就像上面的未缩放/未缩放场景一样.但是发射系统中的多个节点不能(或不应该)发布到同一个吸收系统?或者是什么?如何处理来自多个节点的发布?
两个系统的订阅存储:MSMQ?
发射系统缩放; 吸收系统缩放:这只是发送/接收和发布/订阅模式的上述两种情况的组合吗?
两个系统的订阅存储:MSMQ?
简而言之,对于上述四种情况的推荐NServiceBus设置的概述可能会很好.
java ×3
database ×2
.net ×1
appscale ×1
c# ×1
cocoa ×1
eclipse ×1
ios ×1
msmq ×1
nservicebus ×1
parsing ×1
postgresql ×1
sprite-kit ×1
sql ×1
validation ×1