<新手问题>关于GML
gamemaker吧
全部回复
仅看楼主
level 9
空洞🌀 楼主

一直不懂神马是
返回值,只是
0(FALSE)和1(TRUE)的什么布尔量吗。
比如下面的解释:
mp_linear_step(x,y,stepsize,checkall)这个函数作用为让实例朝指定位置( x , y )直线步进。每一步的大小由参数 stepsize 设置。如果实例已经到位,实例不再移动。如果参数 checkall 为 true ( 1 ),实例遇到任意对象的实例都不会停止。如果为 false ( 0 ),实例碰撞到另一固体实例时就会停止。注意这个函数遇到障碍时不会试着绕路。它只会简单的停止。
函数返回值为是否到达目标位置.
最后所说的返回值在语句中应该写在哪里

,怎么用啊?
2014年09月27日 12点09分 1
level 9
空洞🌀 楼主
因为不懂GML一直困在
新手堆里,我该学什么,
C语言么?
2014年09月27日 12点09分 2
level 10
劝你还是不要去学C了,会更加打击你的自信。。。
其实GML相对于初学者来说已经是最简单的语言了。
只要你多练习,多看看别人的范例代码,进步会很快。
至于你在上面说的那些,你应该还不了解什么是函数。
比如一个instance_number(arg1)函数,它接受一个obj,并返回它的实例数量。返回值就是函数的执行结果,比如:
num = instance_number(arg1)
其中num就是实例数量。
一般这些GM自带的函数都是已经封装好了,也就是说你看不到它的实际操作代码。但是你也可以自己定义一个函数,也就是script
2014年09月27日 13点09分 3
level 10
比如我想做一个更快速创建的简单函数:
new
obj = argument0
{
if object_exists(obj)
{
var inst;
inst = instance_create(0,0,obj)
return inst
}
}
这个自定义函数作用与instance_create基本相同,但是由于它只接受一个参数,所以使用起来更加方便,适用于控制类物件。
你可以看出最后一句前面加了return,也就提醒该函数在此处终止并返回inst也就是新建实例。
2014年09月27日 13点09分 4
level 9
空洞🌀 楼主
一知半解
-_-
2014年09月28日 11点09分 5
level 1
说白了返回值就是函数计算的结果。比如一个函数的功能是计算加法,那返回值就是求得的和。当然我说的是最简单的。
def add(a,b)
return a+b
……不是GML,不过也差不多了。
返回值 = 结果,不完全正确,但够用了。
各种专业术语坑害人啊,明明有人人都知道的词语,它不用。
2014年09月30日 07点09分 6
当然实际用的时候,如果是你自己定义的函数,你爱把什么定为返回值就定什么,而且返回值是否显示出来,你也能自己定。
2014年09月30日 07点09分
回复 _王大锤__ :因为返回值是结果不是参数,所以你不能自己填。你举的例子中,如果到达了目标位置,函数内部可能产生结果为1(即返回1),虽然不显示但可以被别的函数利用。别的函数检测到这个1,就产生相应的行动。
2014年09月30日 07点09分
回复 _王大锤__ :主要楼主好像还不懂函数的使用。。。
2014年09月30日 08点09分
level 13
概念错乱,返回值是函数所代表的值,比如sin(x)函数,就返回正弦值,那么什么时候用到这个值,就把这个函数带进去,表示这个值
2014年10月01日 22点10分 7
比如这个函数返回4那么这个函数整体抛开功能性来讲,数值上就等于4,将来哪里能用到这个值,就用写个函数就可以啦
2014年10月01日 22点10分
level 9
空洞🌀 楼主
好吧,正弦没学,,
2014年10月01日 23点10分 8
正弦是初中几何的内容。。百度一下也许就能明白啦,不是很难的概念[汗]
2014年10月02日 02点10分
回复 anheimfb :怎么可能,我初三
2014年10月02日 05点10分
回复 度娘阿密 :初三下册貌似没有这些,只有三视图之类的
2014年10月02日 05点10分
回复 度娘阿密 :是吗 那可能我记错了,是直角三角形那里的知识。我以为和勾股定理什么的一起的。百度一下看看吧,不是很难的概念
2014年10月02日 05点10分
吧务
level 13
LZ可以把函数理解为两部分,运行部分和返回值,当然有些函数可能只有其中一个部分。
拿instance_create来举例吧,说明里写的是“instance_create(x,y,obj) 在( x , y )位置创建 obj 的实例。函数返回新实例的 id 名。”也就是说
运行部分:创建一个实例
返回值:创建实例的ID
下一步要说的就是,你写instance_create(x,y,obj)或者i=instance_create(x,y,obj)都会创建一个obj实例,不同点是后者获得了“返回值”,并将返回值存储在了变量i里边。之后就可以用i来进行运算或者判定什么的。
返回值的类型(话说GML对类型的要求好像不严格)和内容肯定是有关系啦,比如上面提到的ID值,会是一个数字,而LZ提到的返回“是否到达”则应该是布尔值。
2014年10月04日 07点10分 9
level 9
空洞🌀 楼主
解释很清楚,谢糖豆,有点懂了
2014年10月04日 07点10分 10
1