В настоящее время я использую gamemaker для создания системы планшета. Я могу увеличить масштаб комнаты, перетащить и уменьшить масштаб, но как я могу ограничить, насколько я могу увеличивать и уменьшать масштаб? Размер комнаты - 1024 на 768 px. Я хочу, чтобы иметь возможность уменьшить масштаб до того, как он изначально выглядит, когда вы впервые войдете в комнату.Gamemaker Масштабирование и перетаскивание
Это мой код, который в настоящее время я поместил в скрипте:
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, Спасибо за ответ, я попытался с помощью строки коды предоставленной вами, но получил следующее сообщение об ошибке: неустранимой ошибке действия номера 1 шага Event0 для объекта управления: переменной obj_FCH. 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