我最近開始使用sprite-kit
。我知道touchesBegan
只適用於一個水龍頭,但有什麼我可以使用,將認識到觸摸被壓制?如何實現觸摸並保持sprite套件?
3
A
回答
5
如果你想實現像當年拍攝的東西,你需要開始touchesBegan
方法拍攝和停止touchesEnded
方法拍攝:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[self startShooting];
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
[self stopShooting];
}
對於其他的目的,你可以添加UILongPressGestureRecognizer
到SKScene
4
或者您可以使用更新方法的布爾值:
bool isTouching = false;
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
isTouching = true;
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
isTouching = false;
}
-(void)update:(CFTimeInterval)currentTime {
if(isTouching){
//shooting!
}
}
如果您願意,可以在isTouching塊內方便地組合您的方法,並使用touchesBegan讓我們同時瞄準子彈。
您不必擔心定時器的更新方法就會一直執行的代碼塊作爲isTouching ==真
3
var isTouching = false
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
handleTouches(touches)
isTouching = true;
}
override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) {
handleTouches(touches)
isTouching = false;
}
override func update(currentTime: NSTimeInterval) {
if isTouching{
//Shoot CODE!
}
}
相關問題
- 1. Swift + Sprite套件觸摸檢測
- 2. UIButton觸摸並保持
- 3. 如何檢測Sprite套件中的觸摸tvOS
- 4. 科羅娜SDK觸摸階段 - 觸摸並保持
- 5. SpriteKit SKSpriteNode觸摸並保持速度
- 6. 如何在一次觸摸後禁用CGRect/Sprite上的觸摸
- 7. 檢測Sprite套件中的長時間觸摸
- 8. :如何禁用用戶觸摸並保持DIV時出現的矩形?
- 9. 如何實現在觸摸觸摸內部touckingBegin,touchesEnded
- 10. 如何在Objective C中模擬觸摸並保持?
- 11. 觸摸保持事件在Corona SDK
- 12. 如何在sprite套件中實現齒輪接頭?
- 13. 在Android中轉發觸摸事件並保持動力
- 14. 在觸摸事件期間,如何在RigidyBody2D上保持力量?
- 15. 如何在Sencha Touch的GoogleMap上的svg上添加觸摸並保持事件
- 16. 基本觸摸ID實現
- 17. 如何在觸摸背景時保持UIActionSheet不被觸發?
- 18. 在支持觸摸的瀏覽器上創建並觸發觸摸事件?
- 19. 如何在我的代碼上實現觸摸控件?
- 20. jquery如何爲移動設備實現觸摸事件?
- 21. 如何在backbonejs中實現觸摸事件?
- 22. 如何在WPF中實現畫布上的觸摸事件
- 23. 如何在uiwebview中實現觸摸事件?
- 24. 如何用普通的javascript實現iOS的觸摸事件?
- 25. 如何爲我的應用程序實現觸摸事件?
- 26. 在JPA實體上實現「觸摸」?
- 27. 在Sprite套件中創建HUD,屏幕上保持靜態
- 28. 如何在應用程序中實現單點觸摸和多點觸摸?
- 29. 如何使在支持3D觸摸(力觸摸)
- 30. iAds禁用觸摸Sprite Kit和Swift
感謝安德烈,還有一兩件事。我正在處理的遊戲中,您可以點擊屏幕讓角色向上移動,重力讓它回落。最終會有物體從側面進入,您必須儘量避免。現在,當我點擊屏幕時,我的角色做了我想要做的事情,這是提高了200點,但如果我再次點擊之前,它回到底部,它不上去另一個200,因爲它似乎有引力已經踢過了。一旦屏幕被點擊,是否有辦法重置影響角色的重力? – user3299383
我無法理解你,你可以發佈你的代碼嗎?爲此創造另一個問題 –