2017-01-10 7 views
0

こんにちは、私は、プレーヤーがポイントに挑戦し、ボールが着陸した瞬間にズームインすることでボールが出入りしたかどうかを示すときにテニスと似たものを探していますフラクションがライン上にあるかどうかを確認します。トランジションを使用してシーンをズームする - コロナ

私はxScaleとyScaleでトランジションを使用して実験しましたが、結果はズームするときにオブジェクトが移動したかのように奇妙です。ロックしてズームする方法があれば動作します。私が試した2番目の方法は、グラフィックスを表示グループに入れてグループを拡大することです。これはまた、グループ全体が画面を斜めに移動し始める奇妙な振る舞いにつながります。

これは私を混乱させるのを助けてください。

歓声。スケールします

オブジェクト:

cloud = display.newImageRect("cloud.png", 419,273) 
cloud.anchorY = 0 
cloud.anchorX = 0.5 
cloud.alpha = 1 
cloud.x = display.contentCenterX 
cloud.y = display.contentCenterY + 250 
physics.addBody(cloud, {isSensor=true}) 

star = display.newImageRect("Star.png", 78,72) 
star.anchorY = 0 
star.anchorX = 0.5 
star.alpha = 1 
star.name = "Star" 
physics.addBody(star, {isSensor=true}) 
star.x = display.contentCenterX 
star.y = display.actualContentHeight - display.actualContentHeight - 100 

スケール機能

function scale(event) 
    transition.to(star, {time=2000, xScale=1.5, yScale = 1.5}) 
    transition.to(cloud, {time=2000, xScale=1.5, yScale=1.5}) 
end 

答えて

0

あなたがオブジェクトを拡大縮小すると、それが原因の位置でそのアンカー位置に "移動する" ことそれを配置するために使用され、回転またはスケールの間にその 'アンカー'としても機能するオブジェクトの

だから、あなたは、2つのオプションがあります:

1)アンカー位置を設定します(obj.anchorX =値、obj.anchorY =値)、オブジェクトが希望の位置にとどまるようになりますものにします。

2)遷移中に、移動を補正するためにxとyも変更します。

+0

お返事ありがとうございました。オプション(1)であなたはどういう意味ですか? Bのデフォルトアンカーポイントが設定されていますが、縮尺の変更中/変更後に再度設定する必要はありますか? –

+0

もう一度設定する必要はありません。正しく設定されていることを確認してください。 – rsc

+0

あなたが使用しているコードを共有できる場合は、私たちがあなたのために簡単に修正できるようにします。 – rsc

関連する問題