私は現在、gamemakerを使ってフロアプランシステムを作成しています。私は部屋にズームインしたりドラッグしたりズームアウトすることができますが、ズームインとズームアウトをどれだけ制限することができますか?部屋の大きさは1024 x 768ピクセルです。あなたが最初に部屋に入ったときの様子をズームアウトしたいと思っています。ゲームメーカーズームとドラッグ
これは私がスクリプト内に置かれている現在、私のコードです:これを行うには
X=view_xview[0];
Y=view_yview[0];
if mouse_check_button(mb_left){
global.DRAG=true;
window_set_cursor(cr_drag);
view_xview-=vmx;
view_yview-=vmy;
}
/*else{
if !keyboard_check(vk_space){
global.DRAG=false
}
window_set_cursor(cr_default);
}
*/
vmx=(mouse_x-X)-omx;
omx=(mouse_x-X);
vmy=(mouse_y-Y)-omy;
omy=(mouse_y-Y);
if mouse_wheel_up(){
center_of_space_x=view_xview+view_wview/2;
center_of_space_y=view_yview+view_hview/2;
view_wview-=view_wview*0.15;
view_hview-=view_hview*0.15;
view_xview=center_of_space_x-view_wview/2;
view_yview=center_of_space_y-view_hview/2;
}
if mouse_wheel_down(){
center_of_space_x=view_xview+view_wview/2;
center_of_space_y=view_yview+view_hview/2;
view_wview+=view_wview*0.15;
view_hview+=view_hview*0.15;
view_xview=center_of_space_x-view_wview/2;
view_yview=center_of_space_y-view_hview/2;
}
こんにちはDuphusは、 は、私はあなたが提供されているコードの行を使用してみましたが、次のエラーを受け取っ、返信いただきありがとうございます。読み取り前にmin_size(100010、-2147483648)が設定されていません。 gml_Script_drag_and_zoomで (ライン27) - view_wview =クランプ(view_wview * 0.15、MIN_SIZE、1024) スタックフレームはgml_Script_drag_and_zoom(ライン27) あるから呼び出さ - gml_Object_control_StepNormalEvent_1(ライン3) - drag_and_zoom()。 – Jivvy
ここではmin_sizeを宣言しますが、それはゲームメーカーの関数ではないと宣言しています。 – Jivvy
@Jivvy申し訳ありませんが、私はmin_sizeが変数になることを意味しませんでした。私はあなたがあなたが最小サイズを望むものに置き換えることを意味しました。たとえば、それぞれの最小サイズを44としたい場合は、次のようにします。view_wview = clamp(view_wview * 0.15、44、1024);私は44をゲーム/アプリケーションに適した数字に置き換えていますが。 – Duphus