TC官方合作论坛

 找回密码
 立即注册
查看: 737|回复: 2

[已解决] 求大神帮忙分析一下

[复制链接]
发表于 2013-12-1 20:33:55 | 显示全部楼层 |阅读模式

马上加入TC

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

x
我做的游戏,1键是可以持续释放的技能(一直按下),没有冷却时间,2键和3键有冷却是间,但是我就是不会做选怪那一块儿,就是想如果没有选到怪物的情况下暂停攻击(暂停线程),选到怪物的时候再继续攻击(继续线程)。怎么加个判断是不是已经开启了线程,还是没有开启线程呢?{:soso_e125:}下面的源码是调用的大漠, dzs.delay(500,1000)这个是延时的一个功能。
功能 选怪()
    //选怪   
A1:
    变量 X=0,Y=0

    dm.FindPic(0,0,1024,768,"怪物.bmp","000000",0.9,0,X,Y)

    如果(X > 0 && Y > 0)
        //help.messagebox("找到")
        调试输出("找到,调用打怪")
        dzs.打怪()
    否则
        调试输出("没有找到")
        dzs.delay(500,1000)
        dm.KeyPress(9)
        跳转 A1
    如果结束

功能结束
功能 打怪()

    //打怪
    dm.KeyDown(49)//持续技能
    临界区=线程.创建临界区()
    线程.开启("dzs.技能2",null)
    线程.开启("dzs.技能3",null)


功能结束
功能 技能2()

    循环(真)
        线程.进入临界区(临界区)
        调试输出("进入临界区")
        dm.KeyUp(49)
        dzs.delay(700,800)//技能不释放可以微调
        dm.KeyPress(50)
        dzs.delay(200,300)
        dm.KeyDown(49)
        线程.离开临界区(临界区)
        dzs.delay(15000,17000)
    循环结束
功能结束
功能 技能3()

    循环(真)
        线程.进入临界区(临界区)
        调试输出("进入临界区")
        dm.KeyUp(49)
        dzs.delay(700,800)//技能不释放可以微调
        dm.KeyPress(51)
        dzs.delay(200,300)
        dm.KeyDown(49)
        线程.离开临界区(临界区)
        dzs.delay(30000,31000)
    循环结束
功能结束

回复

使用道具 举报

发表于 2013-12-2 12:09:41 | 显示全部楼层
  1. 空间 打怪

  2. 线程句柄

  3. 打怪开关=0     //打怪开关初始化为0



  4. 功能 打怪()
  5.    
  6.     如果("找到怪物")//这里找到了怪物
  7.         
  8.         如果(打怪开关==0)//判断当前开关状态
  9.             
  10.             如果(线程句柄==null)//先判断线程是否已经开启,当然你可以在其他地方把线程先开启,这里就不需要再判断线程句柄了.
  11.                
  12.                 线程句柄=线程.开启("打怪.按键","")
  13.                
  14.                 打怪开关=1//将打怪开关设置为1
  15.                
  16.             否则//说明线程已经开启,而开关为0,那么我们就恢复线程.
  17.                
  18.                 线程.恢复(线程句柄)
  19.                
  20.                 打怪开关=1//将打怪开关设置为1
  21.                
  22.             如果结束
  23.             
  24.         如果结束
  25.         
  26.     否则//这里没有找到怪物
  27.         
  28.         如果(打怪开关==1)//判断当前开关状态
  29.             
  30.             线程.暂停(线程句柄)
  31.             
  32.             打怪开关=0
  33.             
  34.         如果结束
  35.         
  36.     如果结束
  37.    
  38. 功能结束

  39. 功能 按键()//打怪按键
  40.     循环(真)
  41.         辅助.等待(500)
  42.         //这里是按键代码
  43.     循环结束
  44. 功能结束


  45. 空间结束
复制代码


参考下,希望对你有帮助。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-1 20:38:13 | 显示全部楼层
{:soso__7517901362944151844_3:}没有人
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

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

GMT+8, 2024-9-23 09:47 , Processed in 0.034299 second(s), 23 queries .

Powered by 海安简单软件服务部

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

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