0

テクスチャ パッカーを使用してスプライト シート (ジャンプするカエル) を作成しました。スプライトをクリックすると、キャラクターが前方にジャンプするようにしようとしています。イベント リスナーを作成しました。スプライトをクリックすると、play() メソッドがスプライトをアニメーション化します。しかし、applyForce または setLinearVelocity メソッドを使用してスプライトを前方にジャンプさせることはできませんか? これが私のコードです:

require("physics")
local sprite = require "sprite"
local sheetData = require "myFrogs"  -- name of file created using texturepacker

physics.start()
physics.setGravity(0,1)
local _w = display.contentWidth/2
local _h = display.contentHeight/2

local spriteData = sheetData.getSpriteSheetData()
local spriteSheet = sprite.newSpriteSheetFromData("images/myFrogs.png", spriteData)
local spriteSet = sprite.newSpriteSet(spriteSheet, 1, 7) number of images in spritesheet
local frogSprite = sprite.newSprite(spriteSet)
frogSprite.x = _w
frogSprite.y = _h

physics.addBody(frogSprite, "static", {friction=1.0,density=1.0,bounce=0.3, radius=35})
frogSprite.isFixedRotation = true


local function frogJump(event)
if(event.phase == "ended") then  
    --frogSprite:applyForce() -- should I use this method
    --frogSprite:setLinearVelocity() -- or this method
     frogSprite:play() 

end    
end
frogSprite:addEventListener("touch", frogJump)
4

2 に答える 2

1

カエルの体を静的にしました。動的に切り替えると、これらの方法のいずれかを使用してジャンプします。

于 2012-11-09T23:15:56.513 に答える