1
我有一個拖動對象的問題。當我通過另一個對象快速拖動對象時,它會粘在另一個對象內。然後當我釋放它時,它就會開始射擊。在Corona SDK中拖動毛刺?
這裏是我使用gameUI.lua編寫的代碼。有人可以幫我嗎?
display.setStatusBar(display.HiddenStatusBar)
local physics = require("physics")
physics.start()
physics.setDrawMode("normal")
physics.setGravity(0,5)
local gameUI = require("gameUI")
local floor = display.newImage("floor.jpg")
physics.addBody(floor, "static", {friction = 999, bounce = 0})
floor.y = 900
local box = display.newImage("box.png")
physics.addBody(box, {friction = 99, bounce = 0})
box.x = 100
function localDrag(event)
gameUI.dragBody(event, { maxForce=100000, frequency=1000, dampingRatio=1, center=true })
end
function box:touch(event)
if event.phase == "began" then
self.markX = self.x
self.markY = self.y
elseif event.phase == "moved" then
local x = (event.x - event.xStart) + self.markX
local y = (event.y - event.yStart) + self.markY
self.x, self.y = x, y
if (self.x > 595) then
self.x = 595
end
if (self.x < 46) then
self.x = 46
end
if (self.y > 795) then
self.y = 795
end
end
return true
end
box:addEventListener("touch", localDrag)
local triangle = display.newImage("triangle.png")
triangle.x = 200
triangleShape = { -45, 45 , -45, -45 , 45, 45 }
physics.addBody(triangle, {friction = 99, bounce = 0, shape=triangleShape})
function localDrag(event)
gameUI.dragBody(event, { maxForce=1000000, frequency=1000, dampingRatio=1, center=true })
end
function triangle:touch(event)
if event.phase == "began" then
self.markX = self.x
self.markY = self.y
elseif event.phase == "moved" then
local x = (event.x - event.xStart) + self.markX
local y = (event.y - event.yStart) + self.markY
self.x, self.y = x, y
if (self.x > 595) then
self.x = 595
end
if (self.x < 46) then
self.x = 46
end
if (self.y > 795) then
self.y = 795
end
end
return true
end
triangle:addEventListener("touch", localDrag)
local wall = display.newImage("wall.jpg")
physics.addBody(wall, "static", {friction = 0, bounce = 0})
wall.x = 665
local wall1 = display.newImage("wall.jpg")
physics.addBody(wall1, "static", {friction = 0, bounce = 0})
wall1.x = -25
我試過obj.isSleepingAllowed = false和obj.isBullet = true,將摩擦力改爲1,它仍然重疊,但它不再射出來 – 2012-07-12 15:41:00