--up in the level1.lua
local target
--in the enter frame function of scene
function target:touch(event)
if event.phase=="began" then
local target=display.newImage("target.png",event.x,event.y)
return true
end
end
回答
function target:touch(event)
你還沒有創建目標。您不能將觸摸處理程序分配給尚不存在的對象。
這聽起來像你需要做的是添加一個觸摸處理程序的階段。我會預先創建圖像,並使用.isVisible = true隱藏它。然後在你的觸摸處理程序中,顯示並隱藏該對象。但是,無論你需要將觸摸處理程序放在整個屏幕上而不是個別的小圖像上。
刪除目標中的「本地」:touch:它隱藏模塊本地,使用變量local爲target:touch()。另外,如果您希望圖像在完成觸摸後消失,請使用觸摸事件的「已結束」和「已取消」階段。最後,我假設你初始化目標的東西,但如果沒有,你必須添加太多,否則你怎麼能定義觸摸:事件(感謝Rob爲BTW注意到這一點):
-- first create the target, but don't show it:
local target = display.newImage("target.png", 0, 0)
target.isVisible = false
--in the enter frame function of scene
function target:touch(event)
if event.phase=="began" then
target.x = event.x
target.y = event.y
return true
else if event.phase == "ended" or event.phase == "cancelled" then
if target ~= nil then
target:removeSelf()
target = nil
end
return true
end
end
事情是我想創建圖像時,用戶在確切的x和y位置上觸摸屏幕,並刪除它時,用戶提起觸摸.. –
@SyedZainulAbedin ok擴展答案;請嘗試儘可能具體,因爲你可以在你發佈的問題 – Schollii
模擬器給出的錯誤目標是無 –
- 1. 監聽窗口事件或將對象附加到窗口
- 2. 聽某些事件(對象監聽器)
- 3. AS3附加事件監聽器
- 4. Javascript:將事件監聽器附加到Push()事件的陣列
- 5. javascript對象的jquery事件監聽器
- 6. 將點擊事件監聽器添加到SVG位圖圖像
- 7. 將事件監聽器附加到反應中的svg元素
- 8. 將事件監聽器附加到給定類的元素中
- 9. 添加事件監聽器
- 10. 通過javascript將事件監聽器附加到單選按鈕
- 11. 如何將一個mouseenter事件監聽器附加到sap.m.StandardListItem?
- 12. JQuery到事件監聽器
- 13. 將一個事件監聽器附加到一個類來監聽其成員的事件
- 14. 對象,要求對事件監聽
- 15. 事件監聽器?
- 16. 監聽器+ jQuery對象+觸發更改事件+追加
- 17. Codedui中的事件監聽器像Selenium
- 18. 將事件監聽器與事件代表附加到Jupyter筆記本上?
- 19. js事件對象監聽器(谷歌地圖)
- 20. 附加輸入框上的事件監聽器
- 21. ZF2:如何在Module類中的事件上附加監聽器?
- 22. Chrome擴展 - 用於附加代碼的事件監聽器
- 23. Laravel監聽器監聽多個事件
- 24. 添加事件偵聽器,以形成由事件監聽器
- 25. 使用對象方法作爲事件監聽器
- 26. 如何讓事件監聽器事件點擊顯示圖像?
- 27. NHibernate的保存/更新事件監聽器:監聽子對象節省
- 28. 變量對事件監聽器的值
- 29. 由ajax加載的事件監聽器
- 30. jquery插件添加事件監聽器
+1注意到該函數是尚未創建的對象的一部分。我延長了我的回答。 – Schollii
我認爲target.alpha = 0也可以工作 –
感謝您的答案,它現在正在工作.. –