【问题标题】:How to rotate an Image using Corona sdk with iPhone如何在 iPhone 上使用 Corona sdk 旋转图像
【发布时间】:2011-09-08 06:57:09
【问题描述】:

我是 Corona 的新手。我有一个可在屏幕上拖动的图像。现在我想对该图像对象应用旋转。

我目前拥有的代码是:

  myAnim1 = movieclip.newAnim{"ICQ.png"}
  --foreground:insert( myAnim2 )

  myAnim1.x = 20
  myAnim1.y = 80


local function pressFunction()
    myAnim1.alpha = 0.7
end

local function releaseFunction()
    myAnim1.alpha = 1.0
end



-- Make 2nd sprite draggable
myAnim1:setDrag{ 
    drag=true,
    onPress=pressFunction, 
    onRelease=releaseFunction,
    bounds = { 0, 0, 320, 480 }


}

local rotate = function( event )
    myAnim1.rotation = event.x
    end
myAnim1:addEventListener( "touch",rotate)

在此代码中,图像在我拖动时旋转。我希望在将图像放在屏幕上的某个位置后发生旋转。

谁能解决这个问题?提前致谢

【问题讨论】:

    标签: ios ios4 lua coronasdk


    【解决方案1】:

    使用此公式在 corona sdk 中旋转对象

    local rotate = function(event)
     if event.phase == "ended" then
      myAnim1.rotation = math.ceil(math.atan2( (event.y - myAnim1.y), (event.x -myAnim1.x) ) * 180 / math.pi) + 90
     end
    end
    

    我认为它对你有用............

    【讨论】:

      【解决方案2】:

      在您的发布功能中,您可以添加以下内容:

      myAnim1:rotate(0)
      

      ...这会将对象设置为“正常”(正面朝上)。

      您可能还想查看您正在执行旋转的代码 - 您正在将旋转度数设置为您正在触摸的屏幕上的 x 坐标。如果那是你想做的,那你很好。只是看起来很奇怪。 :)

      【讨论】:

        【解决方案3】:

        您有一个响应所有“触摸”事件的侦听器集。问题是“触摸”事件在您的手指触摸对象的整个过程中被调度,而您正在拖动它。如果您只想在放手时响应,那么您需要对 event.phase 做出响应: http://developer.anscamobile.com/reference/index/eventphase-0

        所以你的函数看起来像:

        local rotate = function(event)
          if event.phase == "ended" then
            myAnim1.rotation = event.x
          end
        end
        

        另一种方法是听“tap”而不是“touch”。就我个人而言,我会使用上面的解决方案来提高代码的未来灵活性,但请注意,虽然在手指触摸的整个过程中都会发送“触摸”事件,但只有在移除手指时才会发送“点击”事件。所以:

        myAnim1:addEventListener("tap", rotate)
        

        【讨论】:

          猜你喜欢
          • 2010-10-31
          • 1970-01-01
          • 1970-01-01
          • 2011-08-30
          • 2020-11-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-08-01
          相关资源
          最近更新 更多