gamemaker函数中文帮助 联系客服

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

常数

true 等同于1. false 等同于 0.

pi 等同于 3.1415... 实数函数

random(x) 返回一个随机的实数,范围从 0 到 x 。数值总小于 x 。

choose(val1,val2,val3,...) 随机返回其中一个参数。最多可以有16个参数。 abs(x) 返回 x 的绝对值。

sign(x) 返回 x 的符号(-1,0,或1)。 round(x) 返回与 x 最接近的整数。 floor(x) 返回比 x 小的最大整数。 ceil(x) 返回比 x 大的最小整数。 frac(x) 返回 x 的小数点以后的部分。 sqrt(x) 返回 x 的开方。 x 不能是负数。 sqr(x) 返回 x 的平方。

power(x,n) 返回 x 的 n 次方。 exp(x) 返回 x 的冥方指数 e 。 ln(x) 返回 x 的自然对数。 log2(x) 返回 x 的2的对数。 log10(x) 返回 x 的10的对数。 logn(n,x) 返回 x 的 n 的对数。

sin(x) 返回 x 的正弦(x 单位为弧度)。 cos(x) 返回 x 的余弦(x 单位为弧度)。 tan(x) 返回 x 的正切(x 单位为弧度)。 arcsin(x) 返回 x 的反正弦。 arccos(x) 返回 x 的反余弦。 arctan(x) 返回 x 的反正切。

arctan2(y,x) 计算 arctan( y / x ) ,然后返回结果在正确象限内的角度值。 degtorad(x) 转换角度到弧度。 radtodeg(x) 转换弧度到角度。

min(val1,val2,val3,...) 返回参数中的最小值。最高支持16个参数。必须全部是实数或全 部是字符串。

max(val1,val2,val3,...) 返回参数中的最大值。最高支持16个参数。必须全部是实数或全 部是字符串。

mean(val1,val2,val3,...) 返回所有参数的平均值。最高支持16个参数。必须全部是实数 数值。

median(val1,val2,val3,...) 返回参数的中间数(如果参数数目为偶数,则两个中间数中 最小的那个作为返回值)。最高支持16个参数。必须全部是实数数值

point_distance(x1,y1,x2,y2) 返回位置1(x1,y1)到位置2(x2,y2)的距离。

point_direction(x1,y1,x2,y2) 返回从位置1(x1,y1)到位置2(x2,y2)的方向角度。 lengthdir_x(len,dir) 返回指定长度及方向的矢量线在 x 轴上的投影长度。 lengthdir_y(len,dir) 返回指定长度及方向的矢量线在 y 轴上的投影长度。

is_real(x) 返回 x 是否为真实数值(否则就是字符串)。

is_string(x) 返回 x 是否是一个字符串(否则就是一个真实数值)。 字符串处理函数

chr(val) 返回字符串中包含参数指定的 ASCII码字符的字符串。 ord(str) 返回字符串中第一个字符的 ASCII 码。

real(str) 将字符串转换为真实数值。字符串可包含负号,小数点甚至是指数部分。 string(val) 将真实数值转换为标准格式的字符串(整数时没有小数点位置,否则在小数点 后留两位)。

string_format(val,tot,dec) 将 val 以你自己的格式转换为字符串:tot 指定总的数字位 置,dec 指定小数点后有几位数字。

string_length(str) 返回字符串中字符的个数。

string_pos(substr,str) 返回字符串 substr 在字符串 str 中的位置(0 代表完全不符)。

string_copy(str,index,count) 返回字符串 str 的一部分,从 index 指定的位置开始, 长度为 count 。

string_char_at(str,index) 返回字符串 str 中索引为 index 的字符。

string_delete(str,index,count) 返回删除了部分内容的字符串 str,从 index 开始,长 度为 count 。

string_insert(substr,str,index) 返回在位置 index 处添加子串 substr 后的 字符串 str。

string_replace(str,substr,newstr) 返回字符串 str 的一份拷贝,为字符串中 子串 substr 第一次出现的地方开始被字符串 newstr 替换后的内容。

string_replace_all(str,substr,newstr) 返回字符串 str 的一份拷贝,为字符串中 子串 substr 所有出现的地方开始被字符串 newstr 替换后的内容。

string_count(substr,str) 返回子串 substr 在字符串 str中出现的次数。 string_lower(str) 返回小写格式的字符串 str。 string_upper(str) 返回大写格式的字符串 str。

string_repeat(str,count) 返回由 count 个字符串 str 组成的新 字符串 str。 string_letters(str) 返回只包含字母的字符串 str。 string_digits(str) 返回只包含数字的字符串 str。

string_lettersdigits(str) 返回包含字母和数字的字符串 str。 以下为处理系统粘贴板内容的相关函数。

clipboard_has_text() 返回粘贴板中是否存在任何文本。 clipboard_get_text() 返回当前粘贴板内文本内容。 clipboard_set_text(str) 将字符串 str 送入粘贴板。

日期及时间处理

在Game Maker中有许多函数是专门处理日期和时间的。一个日期-时间格式是一组实数。整 数部分代表日期,最早到12/30/1899。小数点后的部分代表一天之中的24小时。现有有以下 函数 :

date_current_datetime() 返回当前系统日期-时间。

date_current_date() 返回当前系统日期(不包括时间)。 date_current_time() 返回当前系统时间(不包括日期)。

date_create_datetime(year,month,day,hour,minute,second) 建立一个指定的日期-时间 数据。

date_create_date(year,month,day) 建立一个指定的日期数据。

date_create_time(hour,minute,second) 建立一个指定的时间数据。

date_valid_datetime(year,month,day,hour,minute,second) 返回给定的日期-时间是否正 确。

date_valid_date(year,month,day) 返回给定的日期是否正确。 date_valid_time(hour,minute,second) 返回给定的时间是否正确。

date_inc_year(date,amount) 返回指定日期后 amount 年的新日期。amount 必须为整数 date_inc_month(date,amount) 返回指定日期后 amount 月的新日期。amount 必须为整数。

date_inc_week(date,amount) 返回指定日期后 amount 星期的新日期。amount 必须为整数

date_inc_day(date,amount) 返回指定日期后 amount 天的新日期。amount 必须为整数。 date_inc_hour(date,amount) 返回指定日期后 amount 小时的新日期。amount 必须为整数。

date_inc_minute(date,amount) 返回指定日期后 amount 分钟的新日期。 amount 必须为 整数。

date_inc_second(date,amount) 返回指定日期后 amount 秒的新日期。amount 必须为整数。

date_get_year(date) 返回 date 对应的年份。 date_get_month(date) 返回 date 对应的月份。 date_get_week(date) 返回 date 对应的星期。 date_get_day(date) 返回 date 对应的天数。 date_get_hour(date) 返回 date 对应的小时。 date_get_minute(date) 返回 date 对应的分钟。 date_get_second(date) 返回 date 对应的秒。

date_get_weekday(date) 返回 date 对应一星期的哪一天。 date_get_day_of_year(date) 返回 date 对应一年中的哪一天。 date_get_hour_of_year(date) 返回 date 对应一年中的哪一小时。 date_get_minute_of_year(date) 返回 date 对应一年中的哪一分钟。 date_get_second_of_year(date) 返回 date 对应一年中的哪一秒。

date_year_span(date1,date2) 返回两个日期 date1 和 date2 之间相隔多少年。此函数只 报告年数片断。

date_month_span(date1,date2) 返回两个日期 date1 和 date2 之间相隔多少月。此函数 只报告月份片断。

date_week_span(date1,date2) 返回两个日期 date1 和 date2 之间相隔多少星期。此函数 只报告星期片断。

date_day_span(date1,date2) 返回两个日期 date1 和 date2 之间相隔多少天。此函数只 报告天数片断。

date_hour_span(date1,date2) 返回两个日期 date1 和 date2 之间相隔多少小时。此函数 只报告小时片断。

date_minute_span(date1,date2) 返回两个日期 date1 和 date2 之间相隔多少分钟。此函 数只报告分钟片断。

date_second_span(date1,date2) 返回两个日期 date1 和 date2 之间相隔多少秒。此函数 只报告秒数片断。

date_compare_datetime(date1,date2) 比较两个日期时间的大小,返回-1,0,1,分别代表 前者小于,等于,大于后者。

date_compare_date(date1,date2) 比较两个日期的大小,返回-1,0,1,分别代表前者小于, 等于,大于后者。

date_compare_time(date1,date2) 比较两个时间的大小,返回-1,0,1,分别代表前者小于, 等于,大于后者。

date_date_of(date) 返回指定日期-时间数据的日期部分,时间部分设定成0。 date_time_of(date) 返回指定日期-时间数据的时间部分,日期部分设定成0。

date_datetime_string(date) 按照给定的数据,返回系统默认的字符串格式日期-时间。 date_date_string(date) 按照给定的数据,返回系统默认的字符串格式日期。 date_time_string(date) 按照给定的数据,返回系统默认的字符串格式时间。 date_days_in_month(date) 返回指定日期-时间所在月份的天数。 date_days_in_year(date) 返回指定日期-时间所在年份的天数。 date_leap_year(date) 返回指定日期-时间所在年份是否为闰年。 date_is_today(date) 返回指定日期-时间是否为今天。 移动

很明显,游戏的一个重要方面就是对象实例的四处移动。每个实例拥有两个内建的变量 x 和 y 用来指出实例的位置。(更精确的说,它们显示的位置是精灵原点摆放的位置。)( 0 , 0 )的位置在房间的最左上角。你可以通过改变实例 x 和 y 变量的值来改变实例的位置。你如果想要对象进行复杂运动,这是个可行的方法。把有关的代码放在对象的并行( step )事件里。

如果对象以固定方向及恒速移动,实现起来就很简单。每个对象实例都有一个水平速度( hspeed )和一个垂直速度( vspeed )。两个速度都是以像素每步( pixels per step )为单位。一个正的水平速度就是向右的运动,负的水平速度意味着向左的运动。正的垂直速度是向下,负的垂直速度是向上。所以你必须给这些变量初始化(比如在创建事件里)使对象实例有一个恒速 。

自定义运动的方法和之前不同,使用了方向( direction )( 0-359 度),和速度( speed )(必须是非负数)。你可以设定并读取这些变量来自定义一个任意运动。(内部处理实际上是把值转换成 hspeed 和 vspeed 。)当然还有阻力( friction )和重力( gravity )和重力方向( gravity dirction )供你使用。最后要说的是函数 motion_add(dir,speed) 用来给现有对象增加速度 。

完整来说,每个实例由以下变量和函数来处理它们的位置和运动 :