TC官方合作论坛

 找回密码
 立即注册
查看: 1519|回复: 0

【剑仙教程】函数.引用传参的学习。

[复制链接]
发表于 2016-12-5 10:56:46 来自手机 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 剑仙十号 于 2016-12-6 12:10 编辑

【剑仙教程】函数.引用传参的学习。

问题1:
函数在调用后,它的参数,是否能够 像使用返回值一样使用?
如找图函数中的参数retx,rety,调用找图()命令后,可以直接使用retx,rety的座标值。
//
问题2:
zzy979481894
函数可以带参数,但参数能不能是一个变量,让函数执行某些命令后,把数值赋到这个变量中?就像GetCursorPos x, y
在这个函数中,x, y是参数,
调用这个函数后,就可以使用x, y里面的座标值。
.
形参 不是变量 只能用其它办法代替。
.
那GetCursorPos是怎么做到的呢?
.
抱歉!!
这个函数是用高级语言封装的~~Q语言写的函数 "函数 x,y" 这样的调用方式连语法都通不过..
我暂时木有办法解释。
。。
解决办法:
//
//
变量 线程ID
功能 执行()
  var ret, str
  str = "10,10,350,360,rc:图片1.bmp,101010,0.8,0"
  var intx = 0
  var inty = 0
  ret = 高仿找图(str, intx, inty)
  traceprint("返回值是:" & ret)
  traceprint(intx & "," & inty)
结束
//

功能 高仿找图(str0, &intx0, &inty0)
  //  var n, arr
  //  n = strsplit(str0, ",", arr)
  //  var 返回序号, retx, rety
  //  返回序号 = 找图(arr[0],arr[1],arr[2],arr[3],arr[4],arr[5],arr[6],arr[7], retx, rety)
  //  traceprint(返回序号)
  //
  var ret0 = 随机数(-2, 6)
  if(ret0 >= 0)
    intx0 = 220 + ret0
    inty0 = 330 + ret0
    返回 1
  elseif(ret0 < 0)
    intx0 = -1
    inty0 = -1
    返回 - 1
  end
结束
//在编写代码时,形参和实参 不要使用相同的变量名。
//形参前面要跟 符号&, 实参前面不用带 &。

功能 启动_热键()
  线程ID = 线程开启("执行", "")
结束
功能 终止_热键()
  线程关闭(线程ID)
结束
//
//
这个&,在c++中是取址符。
&,在tc简单开发中,同样是取址符。
在函数定义行的参数,叫形参。
在函数调用行的参数,叫实参。
在函数定义行,形参前面跟 &,是取实参的内存地址。
.
普通传参,是传递现金,传递人民币,
引用传参,是传递银行卡的帐号密码;
.
普通传参,是传递百度云 的分享链接,
引用传参,是传递百度云 的帐号和密码,
.
这样,函数就可以自己修改实参的内容,这跟C++的操作方法一样。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-9-30 18:54 , Processed in 0.030263 second(s), 22 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表