0

私はコロナでシーン間の移行に単純なコード行を使用しています - 移行は起こりますが、効果はありません。

storyboard.gotoScene( "splash", "fade", 2000 )

Xcode シミュレーターのビルドをコンパイルして、そこでフェード効果が機能するかどうかを確認しました。

完全なコード -

     local storyboard = require "storyboard"
 local scene = storyboard.newScene()

 local SplashGroup = display.newGroup()

 local function onBackgroundTouch()
     storyboard.gotoScene("mainmenu", "fade", 2000)
 end

 --Called if the scene hasn't been previously seen

function scene:createScene (event)
     local logoImage = display.newImage("RoxisLogo.png")
     logoImage.x = display.contentWidth/2
     logoImage.x = display.contentHeight/2
     SplashGroup:insert(logoImage)
     logoImage:addEventListener("tap", onBackgroundTouch)
 end

 function scene:enterScene(event)
     SplashGroup.alpha=1
     end

 function scene:exitScene(event)
     SplashGroup.alpha=0
end

--"createScene" is called whenever the scene is FIRST called
scene:addEventListener("createScene", scene)

 --"enterScene event is dispatched whenever scene transition has finished
 scene:addEventListener("enterScene", scene)

 --"exitScene" event is dispatched before the next scene's transition begins
 scene:addEventListener("exitScene", scene)

return scene
4

3 に答える 3

1

シーンのビューに何かを追加している場所がわかりません。通常、createScene と enterScene の先頭には、次のような行があります。

group = scene.view

このグループは表示グループであり、ストーリーボードでシーンをオンまたはオフに遷移させたい場合は、各表示オブジェクトをそのグループに挿入する必要があります。localGroup という独自のグループを作成していますが、これは問題ありませんが、そのグループを「グループ」に入れる必要があります。

また、 createScene() で行うことは画面外で発生し、画面上で遷移します。enterScene で表示オブジェクトを作成すると、それらは表示されるだけです。

最後に、enterScene でアルファを設定し、exitScene で非表示にします。これにより、トランジションも強制終了されます。これらのアルファ設定を緩めて、「group = scene.view」行を createScene() および enterScene() 関数内に追加し、オブジェクトをそのグループに追加します。

于 2013-05-05T20:03:50.970 に答える
0

よくある間違いの 1 つは、ビュー要素を self.view グループに追加するのを忘れることです。多くの場合、ストーリーボード テンプレートは関数local group = self.viewの先頭にインクルードしscene:createSceneます。ビュー オブジェクトをそのグループに挿入してみてください。その後、トランジションを再試行します。

于 2013-08-04T05:43:48.987 に答える
0

使ってください -

local group = self.view を追加
し、シーンのオブジェクトを作成した後に group:insert( scene ) を追加します。

うまくいけば、それはあなたを助けるでしょう。

于 2013-05-07T06:18:02.913 に答える