gamemaker函数中文帮助 联系客服

发布时间 : 星期一 文章gamemaker函数中文帮助更新完毕开始阅读8e04da21dc36a32d7375a417866fb84ae45cc3ea

号。

sprite_width* 指定精灵的宽度。这个值无法更改但你可能会用到它。 sprite_height* 指定精灵的高度。这个值无法更改但你可能会用到它。

sprite_xoffset* 在精灵属性中设定的精灵水平偏移。这个值无法更改但你可能会用到它。 sprite_yoffset* 在精灵属性中设定的精灵垂直偏移。这个值无法更改但你可能会用到它。 image_number* 当前实例内的精灵包含的子图像数量(无法更改)。 image_index 当图像包含多个子图像的时候程序会反复循环显示他们。这个变量决定了当前 将要绘制的子图像编号(从0开始)。你可以更改这个变量以改变当前图像。程序会按照新 的索引编号继续循环绘制图像。

image_speed 循环绘制子图像的速度。为 1 的时候表示每走一步绘制一次子图像。更小的 数值代表更慢的绘制速度,同一子图像可以重复多次绘制。更大的数值下会忽略若干子图像 的绘制,让精灵看起来动作更快。有些时候你只想让某一幅子图像显示出来而不是绘制所有 的子图像。你可以设置速度为 0 并选择正确的子图像就可以了。例如,假设你有一个对象 可以旋转,同时你建立了一个精灵,里面有一些指针(逆时针)。那么,在这个对象的单步 事件中你可以这样设置 {

image_index = direction * image_number/360; image_speed = 0; }

depth 通常图像会在你放置实例的图层上进行绘制。你可以通过设定图像深度来改变位置。 默认值是 0 ,除非你在对象属性中设置了其他数值。深度值越高代表实例在较小深度值的 实例后面。(当然你也可以使用负值)。设定深度值可以确保实例以你指定的方式被绘制出 来(比如让飞机在云层前面显示)。背景实例应该有比较高的深度值(正值),而前景实例 则应当有比较低的深度值(或者是负值)。 image_xscale 放大或缩小图像。为 1 的时候代表正常尺寸。你需要分别设置水平尺寸和垂 直尺寸。改变尺寸的同时也会改变图像的宽度和高度,并可能影响你原先预计的碰撞事件的 结果。更改尺寸可以造成3D效果。你可以设置值为-1来水平反转精灵图像。 image_yscale 垂直缩放。1 为原尺寸。你可以设为 -1 来垂直反转精灵图像。 image_angle 决定精灵的旋转角度。以度数决定,逆时针。设为 0 代表不旋转。 image_alpha 设定图像绘制的阿尔法透明通道的值。设为 1 代表常用的不透明状态。设为 0 代表完全透明。

image_blend 绘制精灵时混合颜色。c_white 是默认设置。当你指定一个不同的数值时,图 像就会与这个颜色混合。这个可以在需要给精灵快速上色的时候使用。 bbox_left* 实例图像碰撞盒的左侧。(缩放比加入计算) bbox_right* 实例图像碰撞盒的右侧。 bbox_top* 实例图像碰撞盒的顶部。 bbox_bottom* 实例图像碰撞盒的底部。 背景

每个房间最多可以放入8个背景。同时还有一个背景色。所有背景都可以通过以下几个变量 加上一些代码进行改动(这些背景是从0到7的编号,以区分不同的背景):

background_color 房间的背景颜色。

background_showcolor 指定是否以背景色清除窗口。 background_visible[0..7] 指定背景图像是否可见。

background_foreground[0..7] 指定背景图像是否为前景。 background_index[0..7] 背景图像的索引编号。 background_x[0..7] 背景图像的 X 坐标。 background_y[0...7] 背景图像的 Y 坐标。 background_width[0...7]* 背景图像的宽度。 background_height[0...7]* 背景图像的高度。 background_htiled[0..7] 是否水平图块。 background_vtiled[0..7] 是否垂直图块。

background_xscale[0..7] 背景水平缩放。(必须为正值;无法使用负值来反转背景) background_yscale[0..7] 背景垂直缩放。(必须为正值;无法使用负值来反转背景) background_hspeed[0..7] 背景水平卷动速度(单位 像素/步)。 background_vspeed[0..7] 背景垂直卷动速度(单位 像素/步)。

background_blend[0..7] 使用混合颜色绘制背景。默认值为 c_white 。

background_alpha[0..7] 在绘制背景的时候设置阿尔法透明通道数值。 1 代表完全不透明 ;0 代表完全透明。 绘制精灵和背景

对象通常会有一个要绘制的精灵图像。打你可以在绘制事件中绘制其他东西。本章及下章内容将会给你相关的信息。首先,这里有一些函数负责用不同的方式绘制精灵和背景。它们会给你提供精灵更多的显示方式。当然也可以用在绘制(局部)背景上。

draw_sprite(sprite,subimg,x,y) 在坐标(x,y)绘制子图像 subimg (-1 代表当前子图像,0到N代表各子图像编号)。(不包含颜色混合和阿尔法透明通道)

draw_sprite_stretched(sprite,subimg,x,y,w,h) 将精灵扩展填充至左上角坐标为(x,y),宽度高度分别为w,h的方形区域内。

draw_sprite_tiled(sprite,subimg,x,y) 将精灵作为图块在整个房间内进行绘制。(x,y) 是其中精灵的绘制坐标。

draw_sprite_part(sprite,subimg,left,top,width,height,x,y) 在坐标(x,y)绘制指定范围内的子图像的子图区域 (-1 代表当前子图像)(从子图像内位置 left,top,width,height )。

draw_background(back,x,y) 绘制背景在坐标(x,y)。(不包含颜色混合和阿尔法透明通道)

draw_background_stretched(back,x,y,w,h) 将背景扩展填充至左上角坐标为(x,y),宽度高度分别为w,h的方形区域内。

draw_background_tiled(back,x,y) 背景作为片平铺在房间中,以(x,y)为起始点

draw_background_part(back,left,top,width,height,x,y) 绘制背景部分,以左上为原点的x,y。

draw_sprite_ext(sprite,subimg,x,y,xscale,yscale,rot,color,alpha) 代表所要绘制的精灵,subimg 代表要绘制的具体子图像,(x,y) 代表绘制的坐标,(xscale,yscale) 代表要绘制的具体缩放尺寸, rot 代表图像逆时针旋转绘制的角度,color 代表需要混合的

颜色(c_white 为默认值),alpha 代表要绘制的阿尔法透明通道数值(0 代表完全不透明, 1 代表完全透明)。这个函数可以创造很多的效果(比如部分透明的爆炸效果)。

draw_sprite_stretched_ext(sprite,subimg,x,y,w,h,color,alpha) 精将精灵扩展填充至左上角坐标为(x,y),宽度高度分别为w,h的方形区域内。color 代表需要混合的颜色(c_white 为默认值),alpha 代表要绘制的阿尔法透明通道数值(0 代表完全不透明, 1 代表完全透明)。

draw_sprite_tiled_ext(sprite,subimg,x,y,xscale,yscale,color,alpha) 将精灵作为图块在整个房间内进行绘制。(x,y) 是其中精灵的绘制坐标。(xscale,yscale) 代表要绘制的具体缩放尺寸。color 代表需要混合的颜色(c_white 为默认值),alpha 代表要绘制的阿尔法透明通道数值(0 代表完全不透明, 1 代表完全透明)。

draw_sprite_part_ext(sprite,subimg,left,top,width,height,x,y,xscale,yscale,color,alpha) 在坐标(x,y)绘制指定范围内的子图像的子图区域 (-1 代表当前子图像)(从子图像内位置 left,top,width,height )。(xscale,yscale) 代表要绘制的具体缩放尺寸。color 代表需要混合的颜色(c_white 为默认值),alpha 代表要绘制的阿尔法透明通道数值(0 代表完全不透明, 1 代表完全透明)。

draw_sprite_general(sprite,subimg,left,top,width,height,x,y,xscale,yscale,rot,c1,c2,c3,c4,alpha) 在左上角坐标为(x,y)绘制指定范围内的子图像的子图区域 (-1 代表当前子图像)(从子图像内位置 left,top,width,height )。(xscale,yscale) 代表要绘制的具体缩放尺寸。rot 代表图像逆时针旋转绘制的角度。在左上,右上,右下,左下四个地方指定混合颜色,阿尔法透明通道值 alpha (0到1之间)。 注意旋转是围绕左上角进行的。

draw_background_ext(back,x,y,xscale,yscale,rot,color,alpha) back代表所要绘制的背景, (x,y) 代表绘制的坐标,(xscale,yscale) 代表要绘制的具体缩放尺

寸, rot 代表图像逆时针旋转绘制的角度,color 代表需要混合的颜色(c_white 为默认值),alpha 代表要绘制的阿尔法透明通道数值(0 代表完全不透明, 1 代表完全透明)。draw_background_stretched_ext(back,x,y,w,h,color,alpha) 将背景扩展填充至左上角坐标为(x,y),宽度高度分别为w,h的方形区域内。color 代表需要混合的颜色(c_white 为默认值),alpha 代表要绘制的阿尔法透明通道数值(0 代表完全不透明, 1 代表完全透明)。

draw_background_tiled_ext(back,x,y,xscale,yscale,color,alpha) 将背景在整个房间内平铺绘制。(x,y) 是其中背景的绘制坐标。(xscale,yscale) 代表要绘制的具体缩放尺寸。color 代表需要混合的颜色(c_white 为默认值),alpha 代表要绘制的阿尔法透明通道数值(0 代表完全不透明, 1 代表完全透明)。

draw_background_part_ext(back,left,top,width,height,x,y,xscale,yscale,color,alpha) 在坐标(x,y)绘制指定范围内的背景区域(从背景内位

置 left,top,width,height )。(xscale,yscale) 代表要绘制的具体缩放尺寸。

color 代表需要混合的颜色(c_white 为默认值),alpha 代表要绘制的阿尔法透明通道数值(0 代表完全不透明, 1 代表完全透明)。

draw_background_general(back,left,top,width,height,x,y,xscale,yscale,rot,c1,c2,c3,c4,alpha) 在左上角坐标为(x,y)绘制指定范围内的背景区域(从背景内位置 left,top,width,height )。(xscale,yscale) 代表要绘制的具体缩放尺寸。rot 代表图像逆时针旋转绘制的角度。在左上,右上,右下,左下四个地方指定混合颜色,阿尔法透明通道值 alpha (0到1之间)。 注意旋转是围绕左上角进行的。

绘制形状

这里有一整套函数负责绘制不同的模具。当然也有一些函数负责绘制文本(下一章提到)。 你可以只用这些函数绘制一个对象的事件;这些函数通常在除了代码之外的地方并不会对事 件有所反应。要记住,实例之间的碰撞只和他们的精灵(或者遮罩)有关,并不和你绘制的 东西有联系。以下的绘制函数可以绘制基本的变形动作。

draw_clear(col) 使用给定的颜色清除全部房间(没有包含阿尔法混合)。

draw_clear_alpha(col,alpha) 使用给定的颜色和阿尔法值清除整个房间(在表面处理时经 常用到)。

draw_point(x,y) 在坐标(x,y) 上绘制一个使用当前颜色的点。 draw_line(x1,y1,x2,y2) 从坐标(x1,y1)到(x2,y2)绘制一条直线。

draw_rectangle(x1,y1,x2,y2,outline) 在指定坐标之间绘制一个矩形。outline 指定是只 描绘边框(真 true),还是要填充整个区域(假 false)。

draw_roundrect(x1,y1,x2,y2,outline) 在指定坐标之间绘制一个圆角矩形。outline 指定是只描 绘边框(真 true),还是要填充整个区域(假 false)。

draw_triangle(x1,y1,x2,y2,x3,y3,outline) 在指定坐标之间绘制一个三角形。outline 指定是只描绘边框(真 true),还是要填充整个区域(假 false)。

draw_circle(x,y,r,outline) 以坐标(x,y)为圆心,r 为半径绘制一个圆形。outline 指定 是只描绘边框(真 true),还是要填充整个区域(假 false)。

draw_ellipse(x1,y1,x2,y2,outline) 绘制一个椭圆。outline 指定是只描绘边框(真 true),还是 要填充整个区域(假 false)。

draw_arrow(x1,y1,x2,y2,size) 绘制一个从坐标(x1,y1)到(x2,y2) 的箭头。size 指定箭 头的尺寸,单位像素。

draw_button(x1,y1,x2,y2,up) 绘制一个按钮, up 指定按钮状态为上(1)还是下(0)。 draw_path(path,x,y,absolute) 通过这个函数你可以从房间坐标(x,y)之间绘制一条指定的 路径 path 。如果 absolute 为真,路径就会以原先设定的位置进行绘制,而x和y就被无视 了。

draw_healthbar(x1,y1,x2,y2,amount,backcol,mincol,maxcol,direction,showback,showborder) 绘制一个健康条。(或者其他任何一种表现数值变化的颜色条,比如:攻击 力)。(x1,y1)和(x2,y2)代表整个条的范围。amount 代表条内颜色填充程度的百分比(从0 到 100)。backcol 为条的背景颜色,mincol 和maxcol 代表条从0 到100之间的颜色变化。 中间值在两端颜色之间渐变。direction 代表条的绘制方向。 0 代表从左边开始, 1 代表 从右边开始, 2 代表从上开始, 3 代表从下开始。 showback 指定是否显示背景框, showborder 指定是否显示边框。

以上几个函数的颜色和阿尔法值都可以通过以下几个函数进行调整。

draw_set_color(col) 设置当前绘制颜色。

draw_set_alpha(alpha) 设置当前绘制时的阿尔法透明通道值。(从0 到1,0代表完全透明, 1代表完全不透明)。

draw_get_color() 返回当前绘制的颜色。

draw_get_alpha() 返回当前绘制的阿尔法透明通道值。 所有颜色的定义: :