TC官方合作论坛

标题: 求教关于线程的问题 [打印本页]

作者: 1142169220    时间: 2012-9-11 19:05
标题: 求教关于线程的问题
比如说我写了 3个功能 要用线程控制他们  1功能完成后 就执行2功能 然后 2功能执行完后执行3功能  然后3执行完后 有继续执行一 怎么用线程控制这个循环
求解释 谢谢大家。
作者: shine宝宝    时间: 2012-9-11 19:07
开启线程1
   
线程1
     线程1内容
     开启线程2
     关闭线程1

线程2
     线程2内容
     开启线程3
     关闭线程2

线程3
     线程3内容
     开启线程1
     关闭线程3
作者: 1192576065    时间: 2012-9-11 19:08
用定时器!!!
作者: 1142169220    时间: 2012-9-11 19:28
回复 2楼shine宝宝的帖子

哦哦 他是按照那个 顺序自动往下执行的么
空间 测试功能
如果我3个功能
             整型     功能1()
              返回真
                功能结束
      整型     功能2()
              返回真
                功能结束
      整型     功能3()
              返回真
                功能结束
然后就在一个点击事件中加上你的代码么
             功能 逻辑型 开始_点击()
线程句柄=线程.开启(" 测试功能.  功能1()","")           在调用这里怎么写 还是在功能钱面就用线程写
返回 真
功能结束
作者: shine宝宝    时间: 2012-9-11 19:31
先开启线程1   然后在每个线程功能里开启下一个。。
作者: 1192576065    时间: 2012-9-11 19:32
回复 4楼1142169220的帖子

最好用定时器!!!
作者: 1142169220    时间: 2012-9-11 19:40
回复 5楼shine宝宝的帖子

哈哈哈 谢谢你啦 小蘑菇 么么哒
作者: fire    时间: 2012-9-11 19:40
2楼的办法不错,但是不够健壮;

以下提供参考:
  1. 空间 测试
  2. //定义默认空间
  3. 整型 线程句柄
  4. //-----------------------------
  5. 功能 逻辑型 功能1()              //你的功能1
  6.    
  7.     返回 真
  8. 功能结束

  9. 功能 逻辑型 功能2()              //你的功能2
  10.    
  11.     返回 真
  12. 功能结束

  13. 功能 逻辑型 功能3()              //你的功能3
  14.    
  15.     返回 真
  16. 功能结束

  17. 功能 逻辑型 功能循环()              //循环功能1,功能2,功能3
  18.     循环(真)
  19.         测试.功能1()
  20.         测试.功能2()
  21.         测试.功能3()
  22.     循环结束
  23.     返回 真
  24. 功能结束

  25. 功能 逻辑型 开始_点击()              //线程开启
  26.     //这里添加你要执行的代码
  27.     线程句柄 = 线程.开启("测试.功能循环","")
  28.     返回 真
  29.     //函数返回语句
  30. 功能结束

  31. 功能 逻辑型 退出_点击()              //关闭线程
  32.     //这里添加你要执行的代码
  33.     线程.关闭(线程句柄)
  34.     辅助.退出()
  35.    
  36.     返回 真
  37.     //函数返回语句
  38. 功能结束

  39. 功能 逻辑型 热键0_热键()              //紧急情况可以暂停程序运行,用个热键控制
  40.     //这里添加你要执行的代码
  41.     线程.暂停(线程句柄)
  42.     返回 真
  43. 功能结束

  44. 功能 逻辑型 热键1_热键()              //恢复程序运行,也用热键控制
  45.     //这里添加你要执行的代码
  46.     线程.恢复(线程句柄)
  47.     返回 真
  48. 功能结束

  49. 空间结束
  50. //空间结束语句
复制代码


作者: 1142169220    时间: 2012-9-11 19:40
回复 6楼1192576065的帖子

定时器怎么用 你举个列子看看
作者: 1142169220    时间: 2012-9-11 19:53
回复 8楼fire的帖子

哇 大神谢谢啦  马上就去做 这个代码终于要接近尾声了 不容易啊哈哈哈哈
作者: 187144831    时间: 2012-9-11 20:00
功能 整型 主线选择()
    整型 选项
选项=下拉框.得到选项("下拉框0")
魔侠传.绑定_点击()
循环 (真)
选择 (选项)   
    条件 0:
    主线.玩世不恭()
    选项=1
   
    条件 1:   
    主线.雪狼之灾()
    选项=2
   
    条件 2:   
    主线.误启魔盒()
    跳出
   
选择结束
循环结束
返回 0
功能结束


这是我今天写的可选择主线任务的起点,直接开启这个线程就可以了  
下拉框是选择 初始化里设置了默认是0   所以就从玩世不恭开始  如果选择1  就从雪狼之灾开始  执行1后执行2 跳过0


作者: 1142169220    时间: 2012-9-11 22:16
回复 11楼187144831的帖子

谢谢啦
作者: 1142169220    时间: 2012-9-11 22:18
回复 2楼shine宝宝的帖子

空间 自动分解
整型 线程句柄
整型 图片X坐标,图片Y坐标,图像序号
整型 图片X坐标2,图片Y坐标2,图像序号2
整型 坐标X,坐标Y

功能 逻辑型 开启分解机()   
循环(真)
图像序号=图像.找图(0,0,800,600,"rc:\\111.bmp",0,1.0,0,图片X坐标,图片Y坐标)
如果(图片X坐标>0)
鼠标.移动(图片X坐标+20,图片Y坐标+10)
辅助.等待(2000)
鼠标.左键双击(2)
如果结束
循环结束
返回 真
//函数返回语句
功能结束
功能 逻辑型 开始_点击()
    线程.开启("自动分解.开启分解机","")

返回 真
功能结束

功能 逻辑型 退出_点击()
//这里添加你要执行的代码
线程.关闭(线程句柄)
辅助.退出()
返回 真
//函数返回语句
功能结束





功能 逻辑型 热键1_热键()
//这里添加你要执行的代码
线程.恢复(线程句柄)
辅助.消息框("功能恢复")
返回 真
功能结束


功能 逻辑型 热键0_热键()
//这里添加你要执行的代码
线程.暂停(线程句柄)
辅助.消息框("功能暂停")
返回 真
功能结束
空间结束
作者: 1142169220    时间: 2012-9-11 22:21
回复 5楼shine宝宝的帖子

我问你一下 那个
我的热键怎么没用啊
我拖得 那个工具栏的热键
作者: 1142169220    时间: 2012-9-11 22:23
回复 5楼shine宝宝的帖子

蘑菇大神 怎么办啦
作者: 1142169220    时间: 2012-9-11 22:25
回复 8楼fire的帖子

火和冰 大神 我学你的那个 给找图 做了个暂停和继续的热键啊 结果太坑爹了
居然暂停后也找 继续也找 那个热键是工具栏里面拖出来的 先点属性 然后在右边的事件
里添加 我写的那个功能  请问这样是哪里出了问题 代码在楼上
作者: shine宝宝    时间: 2012-9-11 22:33
热键没用?加事件了么
作者: 1142169220    时间: 2012-9-11 22:54
回复 17楼shine宝宝的帖子

加拉  时间就是这个找图功能的时间啊 代码都在上面 你可以自己看!
作者: fire    时间: 2012-9-11 23:04
回复 18楼1142169220的帖子

楼主笨笨哦
你的线程句柄在哪里??
①:线程句柄必须是全局变量在功能外边
②:线程句柄 = 线程.开启(".....","")  //这样暂停和继续才会有用,你看看你的代码可没有哦
作者: 1142169220    时间: 2012-9-11 23:20
回复 19楼fire的帖子

哈哈哈 楼主是大笨蛋 么么哒 我还以为我写了呢 么么哒
作者: 1142169220    时间: 2012-9-11 23:22
回复 19楼fire的帖子

你可以教下我TC么 我可是很好学的
作者: fire    时间: 2012-9-11 23:23
回复 21楼1142169220的帖子

谈不上教。一起学习,我也是才学
作者: 1142169220    时间: 2012-9-11 23:49
回复 22楼fire的帖子

原来如此啊 那个账号就是我qq 哦  你想加的话就一起研究吧
作者: 1142169220    时间: 2012-9-11 23:52
回复 17楼shine宝宝的帖子

我有一个关于循环的问题想问一下  就是说比如说 一个功能里面 有一个循环 有2次找图 找图一 满足条件
后 执行找图2  然后 那个 即使图一被找到 后执行图2 的内容的时候 还是会循环找图一 这样很暂用资源的
有木有办法解决  表达能力不好 请见谅
作者: shine宝宝    时间: 2012-9-12 09:02
。。。??????
作者: 1142169220    时间: 2012-9-12 19:09
回复 25楼shine宝宝的帖子

就是问下 比如说 一个功能里有2次循环找图 就是说第一个如果找到了才能执行地2个 但是 第一个找玩后他并不退出 这样是不是很占用资源啊 电脑都会很卡  怎么解决 我的意思 你不明白的话就 密我 我在说一次
作者: shine宝宝    时间: 2012-9-12 19:52
是否找到图1=找图1
    如果 是否找到图1 为真
       找图2
    否则
        消息框 没找到
  如果结束

这个意思?
作者: 1142169220    时间: 2012-9-12 23:20
恩恩 是
循环(真)
             找图一
             如果图一找到
               如果结束
            找图2
                     如果图2找到
                     执行 ,,
                    如果结束
循环结束
                            这样的代码 写在了一个循环里面   图一找到一次就可以不用了 就找图2 但是 由于是写在循环里 他还是会一直找 浪费了效率和时间
作者: shine宝宝    时间: 2012-9-13 07:04
如果找到图1   循环  找图2  循环结束
作者: 1142169220    时间: 2012-9-13 08:44
回复 29楼shine宝宝的帖子

循环一只执行一次么?
作者: 1142169220    时间: 2012-9-13 08:44
回复 0楼1142169220的帖子

那要是一次没有找到他就会继续找不?
作者: shine宝宝    时间: 2012-9-13 08:56
学基础吧'受不鸟了。。
作者: 1142169220    时间: 2012-9-13 09:01
回复 32楼shine宝宝的帖子

好吧




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1