GameMaker8坐标系统
gamemaker吧
全部回复
仅看楼主
level 8
liurengfei 楼主
根据左上角的原点(0,0)位置分为三类:房间、窗口、屏幕坐标系。
以屏幕坐标系为例:如图
一、房间坐标系(0,0为房间左上角)
物体
x,y;xprevious,yprevious;xstart,ystart;
鼠标
只读:mouse_x,mouse_y;
返回鼠标在视野内的房间坐标:window_view_mouse_get_x(id)、window_view_mouse_get_y(id),id为0~7。鼠标在视野内时等于mouse_x,mouse_y;鼠标在视野外时等于该位置相对于该视野在房间内的坐标。
设置鼠标在视野内的房间坐标:window_view_mouse_set(id,x,y),id为0~7
视野
view_xview[],view_yview[]
视野尺寸view_wview[],view_hview[]
背景
background_x[],background_y[]
背景尺寸只读:background_width[],background_height[]
二、窗口坐标系(0,0为窗口内显示区域左上角)
鼠标
window_mouse_get_x(),window_mouse_get_y();当鼠标离开窗口时,以该点为原点来计算坐标。可以显示负值和超出窗口大小的数值。
设置鼠标在窗口内的坐标:window_mouse_set(x,y)
鼠标在某个视野内的坐标(以视野左上角为0,0点):需要鼠标窗口坐标window_mouse_get_x(),window_mouse_get_y()和视野窗口坐标view_xport[],view_yport[]一起计算。
视野
view_xport[],view_yport[]
视野尺寸view_wview[],view_hview[]
三、屏幕坐标系(0,0为屏幕左上角)
鼠标
display_mouse_get_x(),display_mouse_get_y();鼠标不能离开屏幕。
设置鼠标在屏幕内的坐标:display_mouse_set(x,y)
窗口
window_get_x(),window_get_y();
窗口尺寸:window_get_width(),window_get_height()
设置窗口在屏幕内的坐标:window_set_position(x,y)
设置窗口的尺寸:window_set_size(w,h)
2018年10月11日 07点10分 1
level 5
干嘛的?
2018年10月11日 12点10分 2
level 1
楼主,请教下:对象的某方向某距离怎么代码表达?如在object0的90度方向32像素远的坐标生成object1,在F1文档没发现相关函数
2018年10月21日 08点10分 3
因为object0是随鼠标方向转动的,所以不好直接x、y两轴定点
2018年10月21日 08点10分
level 8
liurengfei 楼主
//在object0里
instance_create(x + lengthdir_x(32,90),y + lengthdir_y(32,90),object1);
2018年10月21日 11点10分 4
谢谢吖[大拇指]又学到个用得上的函数。
2018年10月21日 18点10分
不过我这两天在学做简单坦克代码,这函数未能解决困扰我的一个问题,借5楼发下疑问。
2018年10月21日 18点10分
level 1
这是我参考范例做的简单坦克,车体按W、S键前进后退,按A、D旋转调转方向,炮塔随红色准星(鼠标)旋转
炮塔以红点为精灵中心,如红字1:如果照常规在中心生成对象,即在炮塔中心生成炮弹(黄色长方体[黑线]这美工)效果不自然,虽说可以改变炮弹的绘制深度解决这问题,但我很想做出红字2的效果:在火炮口生成炮弹,但炮塔会随鼠标旋转,这[疑问]咋整?求提示。
2018年10月21日 18点10分 5
level 8
liurengfei 楼主
//在object0里
var vDir0;
vDir0=point_direction(x,y,mouse_x,mouse_y);//坦克坐标到鼠标坐标的角度
instance_create(x + lengthdir_x(炮管长度,vDir0),y + lengthdir_y(炮管长度,vDir0),object1);
2018年10月22日 00点10分 6
加油,支持你,我也是零基础来学GM的。
2018年10月22日 09点10分
@ftporg 另外关于遮盖的话可以改深度(depth)深度低的会盖住高的。
2018年10月23日 11点10分
@ftporg 还有就是根据效果动画能看出……你这个炮塔头跟随不太及时……
2018年10月23日 11点10分
可以在draw事件里直接画上。
2018年10月23日 11点10分
level 6
过来看看。[滑稽]
2018年10月23日 11点10分 7
欢迎捧场[呵呵]
2018年10月23日 11点10分
炮塔跟随那个问题你发现啦,鹰眼[大拇指]我自己也发现了,不过现在还在翻F1文档学习中,draw事件还没上手,菜鸟不敢一通学,正在一个一个小范例学函数中。
2018年10月23日 12点10分
level 1
有gmk的undertale engine吗,电脑上装了gms但带不动qwq
2022年05月27日 15点05分 9
1