drawIcon関数で描画したアイコンの座標について
Posted: 2020年7月29日(水) 12:40
質問が多くなってしまい大変申し訳ございません。
今回はdrawIconメソッドで描画したアイコンの座標について質問させてください。
【聞きたいこと】
RPGツクールMVの標準ライブラリに存在する「drawIconメソッド」で描画したアイコンの座標は
通常の座標とは異なる考え方になるのでしょうか?
同じ座標に合わせるためのロジックをご教示をお願いしたい所存でございます。
【詳細】
drawIconを使ってアイコンを表示し、その同じ座標に、異なる画像を表示しようとした場合、
画像の表示位置がずれてしまいました。
(x,yの座標の数値は同じ数値を使ってます)
同じ場所に表示させたく思っており、悩んでおります。
【自分なりの考察】
fillRectメソッドで描画するものもdrawIconと同じ考え方なのかなと思っております。
HTML5のcanvas関連だと座標の細かい考え方があるのかなというところまで考えましたが
それ以降が現在理解できておらず悩んでいる状態です。
サンプルコードと、サンプルコードの結果を貼り付けます。
サンプルコード
サンプルイメージ(水色の画像の位置をアイコンの位置に合わせたいです)
添付画像の通りです。
何卒、よろしくお願いいたします。
今回はdrawIconメソッドで描画したアイコンの座標について質問させてください。
【聞きたいこと】
RPGツクールMVの標準ライブラリに存在する「drawIconメソッド」で描画したアイコンの座標は
通常の座標とは異なる考え方になるのでしょうか?
同じ座標に合わせるためのロジックをご教示をお願いしたい所存でございます。
【詳細】
drawIconを使ってアイコンを表示し、その同じ座標に、異なる画像を表示しようとした場合、
画像の表示位置がずれてしまいました。
(x,yの座標の数値は同じ数値を使ってます)
同じ場所に表示させたく思っており、悩んでおります。
【自分なりの考察】
fillRectメソッドで描画するものもdrawIconと同じ考え方なのかなと思っております。
HTML5のcanvas関連だと座標の細かい考え方があるのかなというところまで考えましたが
それ以降が現在理解できておらず悩んでいる状態です。
サンプルコードと、サンプルコードの結果を貼り付けます。
サンプルコード
コード: 全て選択
(function(){
'use strict';
var _Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand;
Game_Interpreter.prototype.pluginCommand = function(command, args){
_Game_Interpreter_pluginCommand.call(this, command, args);
if(command === "testtest"){
switch(args[0]){
case 'show':
SceneManager.push(Scene_test_Scene);
this.wait(10);
break;
}
}
};
function Scene_test_Scene(){
this.initialize.apply(this,arguments);
};
Scene_test_Scene.prototype = Object.create(Scene_Base.prototype);
Scene_test_Scene.prototype.constructor = Scene_test_Scene;
Scene_test_Scene.prototype.initialize = function(){
Scene_Base.prototype.initialize.call(this);
};
Scene_test_Scene.prototype.create = function(){
Scene_Base.prototype.create.call(this);
Scene_Base.prototype.createWindowLayer.call(this);
var testWindow = new Window_test_Window();
this.addWindow(testWindow);
};
function Window_test_Window(){
this.initialize.apply(this,arguments);
};
Window_test_Window.prototype = Object.create(Window_Base.prototype);
Window_test_Window.prototype.constructor = Window_test_Window;
Window_test_Window.prototype.initialize = function(){
Window_Base.prototype.initialize.call(this,0,0,Graphics.width,Graphics.height);
this.contents.fillRect(10, 10, 30+40, 30+40, this.normalColor());
this.drawIcon(76,10,10);
var test = new Sprite();
test.bitmap = ImageManager.loadBitmap('img/',"test");
test.x=10;
test.y=10;
this.addChild(test);
};
})();
添付画像の通りです。
何卒、よろしくお願いいたします。