云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > gamemaker函数中文帮助

gamemaker函数中文帮助

  • 62 次阅读
  • 3 次下载
  • 2025/5/4 12:41:23

object_set_mask(ind,spr) 设置指定索引的对象的精灵遮罩。使用 -1 来清除对象精灵的遮罩。

object_set_parent(ind,obj) 设置对象的父类。使用 -1 为不使用父类。改变父类同时改变对象实例的行为。

下列程序用于灵巧的创建对象。如同所有的改变资源的程序,你得非常小心不要一直创建新的对象 。

object_add() 添加一个新的对象。返回对象的索引。你可以现在使用这个索引,用上面的函数设置对象的属性,然后可以使用索引创建对象的实例。

object_delete(ind) 删除指定索引的对象。确保在任何房间中都没有对象的实例。 object_event_add(ind,evtype,evnumb,codestr) 我们必须为对象定义事件来赋予对象行为。你可以为事件添加动作代码。你需要指定对象,事件类型,事件数(使用的常量在之前的 event_perform() 函数里指定)。最后准备代码编译。你可以给每个事件添加多个代码动作。

object_event_clear(ind,evtype,evnumb) 你可以使用这个函数来清除指定事件的所有动作。

当你自己设计脚本或动作库时,创建对象特别有用。例如,一个初始化的脚本可以创建一个对象来显示一个文本,另一个脚本可以添加附带特殊文本这样的一个对象。用这个方法你有一个简单机制来脱离使用标准接口创建对象显示文本 。 房间

灵巧的操作房间是一件很危险的事。你必须明白一直不停的改变房间会导致怎样的效果。这儿通常只涉及当前激活房间,已经在先前的章节描述的许多程序在激活的房间中操作实例,背景,以及图块。如果房间是持久的在激活的房间里的改变会持续。因此,你决不应该操作当前激活房间或任何持久的以前访问过的房间的环境,这样的改变通常不会引起注意但可能有时会导致不可预期的错误。由于这个原因,房间通过很复杂的方式链接,所以没有程序可以删除房间. 有以下程序可用

room_set_width(ind,w) 设置指定索引的房间宽度。 room_set_height(ind,h) 设置指定索引的房间高度。

room_set_caption(ind,str) 设置指定索引的房间的标题。

room_set_persistent(ind,val) 设置指定索引的房间是否为持久。 room_set_code(ind,str) 设置指定索引的房间的初始化代码 str 。

room_set_background_color(ind,col,show) 如果房间没有背景图时,设置指定索引的房间的颜色属性。参数 col 设定颜色,参数 show 设定颜色是否可见。

room_set_background(ind,bind,vis,fore,back,x,y,htiled,vtiled,hspeed,vspeed,alpha) 使用指定索引的背景( 0~7 )设置指定索引的房间的背景。参数 vis 设定背景是否可见,参数 fore 设定背景是否为前景。参数 back 为背景的索引。参数 x , y 设定图像的位置,参数 htiled 和 vtiled 设定图像是否必须为图块。参数 hspeed 和 vspeed 设定背景移动的速度,参数 alpha 设定一个透明值( 1= 固体和最快)。

room_set_view(ind,vind,vis,xview,yview,wview,hview,xport,yport,wport,hport,hborder,vborder,hspeed,vspeed,obj) 使用指定索引的视野( 0~7 )设置指定索引的房间的视野。参数 vis 设定视野是否可见。参数 xview, yview, wview, 和 hview 设置房间视野

的位置。参数 xport, yport, wport, 和 hport 设定在屏幕上的位置。参数 hborder 和 vborder 设定对象周围可见的最小边界。参数 hspeed 和 vspeed 设定视野移动的最大速。参数 obj 为对象的索引或实例的索引。

room_set_view_enabled(ind,val) 设置指定索引的房间的视野是否激活。

room_add() 添加一个新的房间。返回房间的索引。注意这个房间不是房间顺序的部分。所以新的房间没有前一个或下一个房间。如果你想移到一个添加的房间你必须给出房间索引。 room_duplicate(ind) 添加指定索引的房间的拷贝。返回房间的索引。

room_assign(ind,room) 指定房间分配到房间 ind 。这制造了一个房间拷贝。

room_instance_add(ind,x,y,obj) 添加一个新的对象 obj 的实例到房间,放到指定位置。返回实例的索引。

room_instance_clear(ind) 移除指定房间的所有实例。

room_tile_add(ind,back,left,top,width,height,x,y,depth) 在指定位置为房间添加一个新的图块。参数 back 为图块获取的背景。参数 left, top, width 和 height 设定图块大小。参数 x , y 为图块在房间中的位置,参数 depth 为图块的位深。

room_tile_add_ext(ind,back,left,top,width,height,x,y,depth,xscale,yscale,alpha) 和前一个程序相同,这次可以指定一个 x 和 y 方向的缩放以及设置图块的透明度。 room_tile_clear(ind)移除指定房间的所有图块。 堆栈

堆栈这种数据结构又叫LIFO(Last-In First-Out)(后进先出)结构,可以加入数值然后又移 除掉。那个最近被加入的数值会第一个被移除。堆栈通常用在中断处理或者用到递归函数。 堆栈有这些函数可以用 :

ds_stack_create() 建立一个新的堆栈。这个函数返回一个整数值作为标识符,其他函数要 使用这个堆栈一定要用这个标识符。可以建立多个堆栈 . ds_stack_destroy(id) 销毁叫作这个标识符的堆栈,释放记忆体。当你不再需要这个数 据的时候,不要忘记呼叫这个函数。

ds_stack_clear(id) 清空叫作这个标识符的堆栈的内容,但不销毁它。 ds_stack_size(id) 返回叫作这个标识符的堆栈储存了多少个数值。 ds_stack_empty(id) 返回叫作这个标识符的堆栈是否为空,这跟检查堆栈大少是否为0 是一样的功用。

ds_stack_push(id,val) 加入一个数值到叫作这个标识符的堆栈。

ds_stack_pop(id) 返回叫作这个标识符的堆栈最新加入的数值,并移除这个数值。 ds_stack_top(id) 返回叫作这个标识符的堆栈最新加入的数值,但不移除这个数值。 队列

队列类似于堆迭,但它以FIFO(First-In First-Out)(先进先出)来运作。第一个加入的数据 会第一个被移除。这就像排队买东西,排在队头的人会被招待。队列通常用在处理一些需要 用多次的数据。以下是队列用到的函数 。

ds_queue_create() 建立一个新的队列。这个函数返回一个整数值作为标识符,其他函数要 使用这个队列一定要用这个标识符。可以建立多个队列。 ds_queue_destroy(id) 销毁叫作这个标识符的队列,释放记忆体。当你不再需要这个数 据的时候,不要忘记呼叫这个函数。

ds_queue_clear(id) 清空叫作这个标识符的队列的内容,但不销毁它。

ds_queue_size(id) 返回叫作这个标识符的队列储存了多少个数值。 ds_queue_empty(id) 返回叫作这个标识符的队列是否为空,这跟检查队列大少是否为0 是一样的功用。

ds_queue_enqueue(id,val) 加入数值到叫作这个标识符的队列。

ds_queue_dequeue(id) 返回叫作这个标识符的队列中最长的数值并移除它。

ds_queue_head(id) 返回叫作这个标识符的队列中排在队头的数值,但不移除它。 ds_queue_tail(id) 返回叫作这个标识符的队列中排在队尾的数值,就是最新加入的数 值,但不移除它。 列表

列表储存一系列按顺序排列的数据,可以加入数据到末端,也可以插入数据到列表的任何位 置,可以利用索引来引用数据,也可以按递减或递增的方式排列数据。列表可用在很多地方, 例如交换一系列的数据。列表是利用阵列的方式来实行,不过它是已编译的代码,执行速度 比阵列快很多。以下是列表用到的函数 :

ds_list_create() 建立一个新的列表。这个函数返回一个整数值作为标识符,其他函数要使 用这个列表一定要用这个标识符。可以建立多个列表。

ds_list_destroy(id) 销毁叫作这个标识符的列表,释放记忆体。当你不再需要这个数 据的时候,不要忘记呼叫这个函数。

ds_list_clear(id) 清空叫作这个标识符的列表的内容,但不销毁它。 ds_list_size(id) 返回叫作这个标识符的列表储存了多少个数值。

ds_list_empty(id) 返回叫作这个标识符的列表是否为空,这跟检查列表大少是否为0是 一样的功用。

ds_list_add(id,val) 加入数值到叫作标识符的列表末端。

ds_list_insert(id,pos,val) 加入数值到列表的指定位置,第一个位置是0,最后的 位置是列表的大小减1。

ds_list_replace(id,pos,val) 用新值取代指定位置的数值。

ds_list_delete(id,pos) 删除列表中指定位置的数值(位置0为第一个数据)。

ds_list_find_index(id,val) 搜寻指定数据的位置,如果数据不在列表中,会返回-1。 ds_list_find_value(id,pos) 返回列表中指定位置的数值。

ds_list_sort(id,ascend) 排列列表的数据,当递增为真时按递增顺序排列,为假时按递 减顺序排列。 配对

在一些情况下你需要按关键词来储存对应的数值,例如一个字母可以有很多不同的项目,每 个项目可以有特定的数目。在这个情况下项目就是关键词,数目就是数值。配对以成对的方 式存在,以关键词来排序。你可以储存成对的数据,也可以按关键词来查找数据。因为关键 词是排列好的,所以可以查找前一个或后一个关键词。有些时候只储存关键词而不储存数值 会比较方便,只要将数值设为0就可以。以下是配对的函数 :

ds_map_create() 建立一个新的配对。这个函数返回一个整数值作为标识符,其他函数要使 用这个配对一定要用这个标识符。可以建立多个配对 ds_map_destroy(id) 销毁叫作这个标识符的配对,释放记忆体。当你不再需要这个数据 的时候,不要忘记呼叫这个函数

ds_map_clear(id) 清空叫作这个标识符的配对的内容,但不销毁它。

ds_map_size(id) 返回叫作这个标识符的配对储存了多少个数值。 ds_map_empty(id) 返回叫作这个标识符的配对是否为空,这跟检查配对大少是否为0是 一样的功用。

ds_map_add(id,key,val) 加入关键词和对应的数值到叫作标识符的配对。 ds_map_replace(id,key,val) 用新值取代对应关键词的数值。

ds_map_delete(id,key) 删除关键词和对应关键词的数值。如果一个关键词有多个数 值,只有一个会被移除。

ds_map_exists(id,key) 返回关键词是否存在。

ds_map_find_value(id,key) 返回关键词对应的数值。

ds_map_find_previous(id,key) 返回比指定关键词小但最大的关键词。(注意这只返 回关键词,不返回对应的数值)

ds_map_find_next(id,key) 返回比指定关键词大但 最小的关键词。 ds_map_find_first(id) 返回最小的关键词。 ds_map_find_last(id) 返回最大的关键词 优先队列

一个优先队列以优先权储存一堆数值,可以以最小和最大的优先权很快地找到数据,使用这 种数据结构你可以很方便地根据优先权处理数据。以下是优先队列用到的函数 :

ds_priority_create() 建立一个新的优先队列。这个函数返回一个整数值作为标识符,其他 函数要使用这个优先队列一定要用这个标识符。可以建立多个优先队列。

ds_priority_destroy(id) 销毁叫作这个标识符的优先队列,释放记忆体。当你不再需 要这个数据的时候,不要忘记呼叫这个函数。

ds_priority_clear(id) 清空叫作这个标识符的优先队列的内容,但不销毁它。 ds_priority_size(id) 返回叫作这个标识符的优先队列储存了多少个数值。

ds_priority_empty(id) 返回叫作这个标识符的优先队列是否为空,这跟检查优先队列 大少是否为0是一样的功用。

ds_priority_add(id,val,prio) 以指定优先权加入数值到叫作标识符的优先队列。 ds_priority_change_priority(id,val,prio) 改变指定数值的优先权。 ds_priority_find_priority(id,val) 返回指定数值的优先权。 ds_priority_delete_value(id,val) 删除指定的数值。

ds_priority_delete_min(id) 返回最小优先权的数值并移除它。 ds_priority_find_min(id) 返回最小优先权的数值但不移除它。 ds_priority_delete_max(id) 返回最大优先权的数值并移除它。 ds_priority_find_max(id) 返回最大优先权的数值但不移除它。 栅格

栅格就是一个二维阵列,有它的宽度和高度。栅格允许根据索引去设定和找回单元中的数据 (横向和直向都以0开始)。也可以在指定范围设定数值、增加数值、存取总和、最大值、最 小值和平均值。栅格用来代表一个以格子来分割的场景很有用。虽然二维阵列也可以做到, 不过通过栅格的操作会快很多。以下是栅格的函数 :

ds_grid_create(w,h) 用指定的宽度和高度建立一个新的栅格,这个函数返回一个整 数值作为标识符,其他函数用这个标识符操作这个栅格。

ds_grid_destroy(id) 销毁叫作标识符的栅格,释放记忆体。当你不再需要这个数据的时

候,不要忘记呼叫这个函数。

ds_grid_resize(id,w,h) 重设栅格的宽度和高度,已存在的单位会保留原有的值。 ds_grid_width(id) 返回栅格的宽度。 ds_grid_height(id) 返回栅格的高度。

ds_grid_clear(id,val) 清除栅格的指定数值。

ds_grid_set(id,x,y,val) 设定栅格中指定的单位为指定的数值。

ds_grid_add(id,x,y,val) 加入数值到栅格中指定的单位,如果是字串会串联起来。 ds_grid_multiply(id,x,y,val) 将栅格中指定的单位与数值相乘,数字才有效。 ds_grid_set_region(id,x1,y1,x2,y2,val) 设定指定范围的单位为指定的数值。

ds_grid_add_region(id,x1,y1,x2,y2,val) 加入数值到指定范围的单位,如果是字串 会串联起来。

ds_grid_multiply_region(id,x1,y1,x2,y2,val) 将栅格中指定范围的单位与数值相乘, 数字才有效。

ds_grid_set_disk(id,xm,ym,r,val) 设定以(xm,ym)为中心、r为半径的圆盘的所有单 位为指定数值。

ds_grid_add_disk(id,xm,ym,r,val) 加入数值到以(xm,ym)为中心、r为半径的圆盘的 所有单位中。

ds_grid_multiply_disk(id,xm,ym,r,val) 将以(xm,ym)为中心、r为半径的圆盘的所有 单位与数值相乘。

ds_grid_get(id,x,y) 返回栅格中指定单位的数值。

ds_grid_get_sum(id,x1,y1,x2,y2) 返回指定范围的所有单位的总和,数字才有效。 ds_grid_get_max(id,x1,y1,x2,y2) 返回指定范围中最大的单位,数字才有效。 ds_grid_get_min(id,x1,y1,x2,y2) 返回指定范围中最小的单位,数字才有效。

ds_grid_get_mean(id,x1,y1,x2,y2) 返回指定范围的所有单位的平均值,数字才有效。 ds_grid_get_disk_sum(id,xm,ym,r) 返回以(xm,ym)为中心、r为半径的圆盘的所有单位 的总和。

ds_grid_get_disk_min(id,xm,ym,r) 返回以(xm,ym)为中心、r为半径的圆盘中最小的单 位。

ds_grid_get_disk_max(id,xm,ym,r) 返回以(xm,ym)为中心、r为半径的圆盘中最大的单 位。

ds_grid_get_disk_mean(id,xm,ym,r) 返回以(xm,ym)为中心、r为半径的圆盘的所有单位 的平均值。

ds_grid_value_exists(id,x1,y1,x2,y2,val) 返回指定的数值是否存在于指定的范围。 ds_grid_value_x(id,x1,y1,x2,y2,val) 返回指定范围中有指定数值的单位的x座标。 ds_grid_value_y(id,x1,y1,x2,y2,val) 返回指定范围中有指定数值的单位的y座标。 ds_grid_value_disk_exists(id,xm,ym,r,val) 返回指定的数值是否存在于以(xm,ym) 为中心、r为半径的圆盘中。

ds_grid_value_disk_x(id,xm,ym,r,val) 返回以(xm,ym)为中心、r为半径的圆盘中有 指定数值的单位的x座标。

ds_grid_value_disk_y(id,xm,ym,r,val) 返回以(xm,ym)为中心、r为半径的圆盘中有 指定数值的单位的y座标。

搜索更多关于: gamemaker函数中文帮助 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

object_set_mask(ind,spr) 设置指定索引的对象的精灵遮罩。使用 -1 来清除对象精灵的遮罩。 object_set_parent(ind,obj) 设置对象的父类。使用 -1 为不使用父类。改变父类同时改变对象实例的行为。 下列程序用于灵巧的创建对象。如同所有的改变资源的程序,你得非常小心不要一直创建新的对象 。 object_add() 添加一个新的对象。返回对象的索引。你可以现在使用这个索引,用上面的函数设置对象的属性,然后可以使用索引创建对象的实例。 object_delete(ind) 删除指定索引的对象。确保在任何房间中都没有对象的实例。 object_event_add(ind,evtype,evnumb,codestr) 我们必须为对象定义事件来赋予对象行为。你可以为事件添加动作代码

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com