我对Swift有点新意。我有这个问题,SpriteNode" Ball"没有对touchesBegan-method中的applyImpulse命令作出反应。整体physicsBody工作完全正常,重力,恢复原状等。但是当我使用applyImpulse时,什么也没发生。这是代码:
document.getElementsByClassName('sharefbbtn')[0].onclick = function() {
if(!burl){
burl = window.location.href ;
}
FB.ui({
display: 'popup',
method: 'share',
href: burl
}, function(response){
if (response && !response.error_code) {
//Thank the user
} else{
//Do nothing
}
});
}
请帮帮我:)。
显然我也有一个理由,这只是相关的代码。
答案 0 :(得分:1)
使用以下代码行创建本地对象球:
let ball = SKSpriteNode(imageNamed: "Ball")
在didMoveToView
方法内。它使用self.addChild(ball)
创建并放置到场景中。但在这行代码中:
self.ball.physicsBody?.applyImpulse(CGVectorMake(0.0, 5.0))
您从其他physicsBody?.applyImpulse(CGVectorMake(0.0, 5.0))
对象中调用ball
,该对象未在此处发布的代码中显示。此对象与您在didMoveToView
方法中创建的对象不同。
您需要为ball
中的此功能didMoveToVeiw
对象初始化全局:
ball = SKSpriteNode(imageNamed: "Ball")
没有let
关键字