0

melonJSを使ってゲームを作っています。NPC の上にダイアログ ボックスを動的に配置したいと考えています。

全画面表示で、綺麗です。

ここに画像の説明を入力

ビューポートを縮小すると、位置が絶対的なままになり、見栄えが悪くなります。しかし、絶対的に配置しないと、NPC の座標に対して相対的に配置することができなくなります。

$("#dialogBox").css({top: game.data.currentNPC_y+50, left: game.data.currentNPC_x-50, position:'absolute'});

ここに画像の説明を入力

これを回避する方法はありますか?


編集:

以下を使用すると、コードは上記のようにスケーリングされませんが、少なくとも NPC の近くとキャンバス上にはまだあります。

        $("#dialogBox").css({
            top: game.data.currNPC_y+50, 
            left: game.data.currNPC_x-50, 
            position:'absolute'
        }); 

ここに画像の説明を入力

あなたが提案したコードを使用すると、キャンバスの外に表示されます。

        $("#dialogBox").css({
            position : "absolute",
            left     : (game.data.currentNPC_x - 50) * me.sys.scale.x,
            top      : (game.data.currentNPC_y - 500) * me.sys.scale.y
        });

ここに画像の説明を入力

4

1 に答える 1