const int による定義についての質問
Posted: 2007年11月14日(水) 16:26
こんにちは☆いつもお世話になっております♪
今回も質問なんですが、よろしくお願いします(^_^)
以前こちらのサイトでDXらいぶらりによるマウス操作の質問をさせていただきました。
その際に、サンプルプログラムとしていただいたプログラムの中に、
//家を囲む一片の半分の長さ
const int rangeX = home->scale * 10/2, rangeY = home->scale * 5/2;
という行があります。これは、家をDrawLine関数やDrawBox関数を用いて描いた家の絵をマウスによって移動するために、マウスのドラッグ位置をこの範囲の指定によって得るものです。
つまり、
int rangeX = home->scale*10/2, rangeY = home->scale*11/2;
if(mouseinfo->pos.x >= home->pos.x - rangeX && mouseInfo->pos.x <=pos.x + rangeX
&& mouseInfo->pos.y >= home->pos.y - rangeY && mouseInfo->pos.y <= pos.y + rangeY)
{
home->is_dragging = TRUE;
home->drag_offset.x = mouseInfo->pos.x - home->pos.x;
home->drag_offset.y = mouseInfo->pos.y - home->pos.y;
}
(これは範囲内だった場合、ドラッグ開始というプログラムです。)
このように使うのですが、このrangeXとrangeYの定義の仕方がよく分かりません・・・
rangeX = home->scale * 10/2 とする事により、半分の長さの定義になるらしいのですが、なぜhome->scale(これは家の大きさであり、初期値は5)に10/2をかけるのでしょうか?
初心者な質問で申し訳ございません・・・
よろしくお願いいたしますm(>o<)m
またその際いただいたサンプルプログラムを添付させていただきます・・・
drag_test1の方がそうです。
お願いいたします☆
今回も質問なんですが、よろしくお願いします(^_^)
以前こちらのサイトでDXらいぶらりによるマウス操作の質問をさせていただきました。
その際に、サンプルプログラムとしていただいたプログラムの中に、
//家を囲む一片の半分の長さ
const int rangeX = home->scale * 10/2, rangeY = home->scale * 5/2;
という行があります。これは、家をDrawLine関数やDrawBox関数を用いて描いた家の絵をマウスによって移動するために、マウスのドラッグ位置をこの範囲の指定によって得るものです。
つまり、
int rangeX = home->scale*10/2, rangeY = home->scale*11/2;
if(mouseinfo->pos.x >= home->pos.x - rangeX && mouseInfo->pos.x <=pos.x + rangeX
&& mouseInfo->pos.y >= home->pos.y - rangeY && mouseInfo->pos.y <= pos.y + rangeY)
{
home->is_dragging = TRUE;
home->drag_offset.x = mouseInfo->pos.x - home->pos.x;
home->drag_offset.y = mouseInfo->pos.y - home->pos.y;
}
(これは範囲内だった場合、ドラッグ開始というプログラムです。)
このように使うのですが、このrangeXとrangeYの定義の仕方がよく分かりません・・・
rangeX = home->scale * 10/2 とする事により、半分の長さの定義になるらしいのですが、なぜhome->scale(これは家の大きさであり、初期値は5)に10/2をかけるのでしょうか?
初心者な質問で申し訳ございません・・・
よろしくお願いいたしますm(>o<)m
またその際いただいたサンプルプログラムを添付させていただきます・・・
drag_test1の方がそうです。
お願いいたします☆