所以基本上在我的游戏中我需要抛掷或抛出一个物体.到目前为止,我有一个精灵,它可以被拖动,但它不能被抛出.游戏的想法是抛出一个精灵与另一个精灵碰撞.我想要我们将调用testNode的精灵,移动用户抛出它的方式
意思是,当我释放精灵时,我希望它继续向我移动它的方向.我花了很多年时间试图解决这个问题,但我不能.我正在使用适用于iOS 8+的SpriteKit.如果有人可以提供帮助请.
这是我看过的视频,但它与GameSalad有关,这是另一个故事.你可以看看
(如果您需要进一步联系,请回复)
import Foundation;
import SpriteKit;
class Level:SKScene {
TestNode:Test? //Test is a class I made
//Removed the update and touches began due to it being irrelevant to what I need help with.
override func didMoveToView(view: SKView){
testNode = Fruit(imageNamed: "apple_idle")
testNode?.position = CGPointMake(60, 294)
testNode?.xScale = 0.5
testNode?.yScale = 0.5
self.addChild(testNode!)
}
override func touchesMoved(touches: NSSet, withEvent event: UIEvent) {
var nodeTouched = SKNode()
var currentNodeTouched = SKNode()
for touch: AnyObject in touches {
let …Run Code Online (Sandbox Code Playgroud) 我目前正在开发我的游戏,我决定在游戏中通过GameCenter启用多人游戏,以允许用户玩他们的朋友.我遵循了RayWinderLinch的教程,但遇到了问题.
我的问题是,当我加载GKMatchMakingViewController并点击Play Now两个设备上的大按钮时,它会找到彼此(这意味着发生)并且在设置的游戏中心用户名下会说Ready.
这意味着GameCenter已找到每个玩家,并准备开始它应该的比赛,但在我的情况下,比赛永远不会开始.它停留在一个循环上,说Starting Game...没有任何反应.看来,
func matchmakerViewController(viewController: GKMatchmakerViewController!, didFindMatch theMatch: GKMatch!)
和
func match(theMatch: GKMatch!, player playerID: String!, didChangeState state: GKPlayerConnectionState)
方法永远不会运行.我完全迷失了正在发生的事情.我已经多次尝试过这个问题来解决问题,但没有任何效果.我将附加一个图像,显示我的问题仍然存在的应用程序的屏幕,我还将附加我正在使用的代码.
我正在使用基于
GameKitHelper.h上述提到的教程的框架.它是用swift编写的,叫做 GCHelper
码
可以使用前面提到的GitHub链接找到GCHelper的代码
我已经删除了这个问题不必要的代码
class GameScene : SKScene, GameKitHelper, MultiplayerNetworkingProtocol {
override func didMoveToView () {
GCHelper().authenticateLocalUser() //Authenticate GameCenter User
println("\n \n \n Authenticating local user \n \n \n")
}
func startMultiplayer () {
var vc = self.view?.window?.rootViewController
GameKitHelper().findMatchWithMinPlayers(2, maxPlayers: 2, viewController: vc!, delegate: self); …Run Code Online (Sandbox Code Playgroud) 这是我迄今为止所拥有的视频https://drive.google.com/file/d/1tJMZfpe8hcqLcNMYiE-6pzwHX0eLofv1/view?usp=sharing
我试图在 contentOffset.y 到达标题后修复“可用 3 个月”的问题。与 css 中的 a 类似position: sticky。
到目前为止,我想通过onScroll滚动视图组件中的 prop 来完成此操作,但问题是,我已经有来自父组件和子组件的动画(Animated.Event),这意味着我执行此操作的唯一方法是通过但是listener如果该选项设置为 false Animated.Event,那么这样做会导致超级断断续续的动画useNativeDriver。
如果我将其设置为 true,则整个事情将无法正常工作(它会崩溃)。错误是这样的:“onScroll 不是一个函数,它是 Animated.event 的一个实例”
所以,假设我们有两个组件,父组件是Parent.js,子组件(滚动视图)是ChildScrollView.js
滚动视图上已经ChildScrollView.js有动画,但我们需要在组件中添加更多动画Parent.js,以处理ChildScrollView.js无法处理的导航
所以它的编码是这样的:
Parent.js
componentWillMount() {
const { navigation } = this.props
const { scrollY } = this.state
const bgColor = scrollY.interpolate({
inputRange: [HEADER_HEIGHT / 4, HEADER_HEIGHT / 2],
outputRange: ['transparent', 'rgb(255,255,255)'],
extrapolate: 'clamp',
})
const titleColor = scrollY.interpolate({
inputRange: …Run Code Online (Sandbox Code Playgroud) 我有一系列javascript对象是产品.这些产品作为购物车显示在列表中.
我想根据_.id值计算数组中重复产品的数量,并从数组中删除这些对象,并使用更新版本和调用count此对象总出现次数的值调用的新密钥进行更新.
到目前为止,我已经尝试了很多方法,我已经搜遍了谷歌,但我发现没有什么可以正确地完成工作.
我将使用的数组类型的示例如下:
[
{ _id: "5971df93bfef201237985c4d",
slug: "5971df93bfef201237985c4d",
taxPercentage: 23,
totalCost: 9.99,
currency: "EUR",
},
]
Run Code Online (Sandbox Code Playgroud)
所以我希望我的最终结果是这样的 - 它删除重复的值并用相同的对象替换它,但添加一个名为count的新键,其值为对象最初在数组中的次数:
[
{ _id: "5971df93bfef201237985c4d",
slug: "5971df93bfef201237985c4d",
taxPercentage: 23,
totalCost: 9.99,
currency: "EUR",
count: 2, // whatever the count is
},
]
Run Code Online (Sandbox Code Playgroud)
到目前为止我正在使用这种方法:
var count = [];
if (cart.cart.products != undefined) {
let namestUi = {
renderNames(names){
return Array.from(
names.reduce( (counters, object) =>
counters.set(object._id, (counters.get(object._id) || 0) + 1),
new Map() ),
([object, count]) => { …Run Code Online (Sandbox Code Playgroud) ios ×2
javascript ×2
react-native ×2
sprite-kit ×2
swift ×2
arrays ×1
game-center ×1
multiplayer ×1
reactjs ×1