TC官方合作论坛

 找回密码
 立即注册
查看: 14330|回复: 51

新人必须了解的几个TC常用语和脚本基础知识!

[复制链接]
发表于 2012-5-4 01:03:40 | 显示全部楼层 |阅读模式

马上加入TC

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

x
TC常用语
一,函数
在百度百科中是这样解释函数的:
函数(function)表示每个输入值对应唯一输出值的一种对应关系。在计算机定义中函数过程中的这些语句用于完成某些有意义的工作——通常是处理文本,控制输入或计算数值。通过在程序代码中引入函数名称和所需的参数,可在该程序中执行(或称调用)该函数。
类似过程,不过函数一般都有一个返回值。它们都可在自己结构里面调用自己,称为递归
大多数编程语言构建函数的方法里都含有Function关键字(或称保留字)。

由此,我们可以看出,TC就是通过对函数的调用来执行代码命令的(也就是完成某些有意义的工作),所有的命令都必须写在函数里,并且只有调用了函数,计算机才会执行函数内的命令!

二,线程
在百度百科中是这样解释线程的:
线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统du立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪阻塞运行三种基本状态。每一个程序都至少有一个线程,那就是程序本身。线程是程序中一个单一的顺序控制流程。在单个程序中同时运行多个线程完成不同的工作,称为多线程!

由此,我们可以看出,线程是一个程序du立执行流,所以一般在TC里我们都建议开启一个线程来调用函数,避免脚本卡死(无响应),多个线程可以并发执行(同时执行),但是却会相互制约,而且线程是与同属一个进程的其它线程共享进程所拥有的全部资源的,所以,对一些具有唯一性的资源我们需要创建临界区来让线程"排队"访问!

三,变量
在百度百科中是这样解释变量的:
变量是一段有名字的连续存储空间。在源代码中通过定义变量来申请并命名这样的存储空间,并通过变量的名字来使用这段存储空间。 变量是程序中数据的临时存放场所。在代码中可以只使用一个变量,也可以使用多个变量,变量中可以存放单词、数值、日期以及属性。

首先,我们必须定义变量(也叫声明变量),给变量起个名字(变量命名),并且定义类型(声明变量时,可以不用声明就直接赋值来决定变量类型的语言如(javascript,flash cs3.0以前,等),这类语言变量的声明通常被称为弱类型,而如(c++等)必须先声明,后使用,而且声明时必须确定变量类型,这种就是严格的数据类型. TC里就是这用严格的数据类型),然后就是给变量赋值,我们给变量定义了什么类型,那么就只能给这个变量赋什么类型的值!变量与变量也可以相互赋值!变量的作用域由声明它的位置决定。我们在一个函数过程内声明的变量称为局部变量,局部变量只会在该函数过程内被识别,而在函数过程外声明的变量,我们称之为全局变量,全局变量可以让空间里所有的函数过程所识别!

四,条件
条件,TC流程控制语句中的表达式(循环和如果),在脚本制作中,如何设定条件,是决定脚本智能化的最大因素!作为条件,只有两种,假,(包括了""""""),当表达式时,执行循环循环结束,如果如果结束(有否则就到否则),当表达式时,就不执行循环循环结束内的代码,不执行如果如果结束的代码(有否则就执行否则如果结束的代码)
对于逻辑或"||",逻辑与"&&",逻辑非"!",冷月只能很白话的说逻辑或"||"就是或者,逻辑与"&&"就是并且,逻辑非"!"就是相反!

五,颜色值
通过百度百科,我们查到
人的眼睛看到的颜色有两种:1. 一种是发光体发出的颜色,比如计算机显示器屏幕显示的颜色;2. 另一种是物体本身不发光,而是反射的光产生的颜色,比如看报纸和杂志上的颜色!我们又知道任何颜色都是由三种最基本的颜色叠加形成的,这三种颜色称为“三原色”。 对于上面提到的第一种颜色,即发光体的颜色模式,又称为“加色模式”,三原色是“红”、“绿”、“蓝”三种颜色。加色模式又称为“RGB模式”; 通常规定,每一种颜色强度最低为 0,最高为255,并通常都以16进制数值表示,那么255对应于十六进制就是FF,并把三个数值依次并列起来 ,以#开头。

在脚本制作中,我们必须要认识到一点,我们眼睛看到的颜色也许是一样的,但是用颜色值(RGB值)来表达哪怕只相差一个数值都是不一样的两种颜色!所以,为了让我们截的图能在不同的计算机上都能正确识别到,一般都要给颜色值加一点范围值(色偏),也就是说在色偏范围内的颜色,都是正确的颜色!还有一点影响颜色值的就是计算机显卡的驱动!一般游戏的显示都只会通过系统安装的显卡驱动程序来与硬件进行会话,游戏里最终实际显示出来的颜色,根本取决于显卡芯片对色彩的原始定义(但这是有RGB标准规定了的),其后取决于显卡驱动程序对色彩显示的控制算法(包括驱动程序本身使用的色阶标准),最后取决于系统显示色数和游戏显示色数的设定.

六,像素
在百度百科是这样解释的
像素Pixel) 是由 Picture(图像) 和 Element(元素)这两个单词的字母所组成的,是用来计算数码影像的一种单位,
我们知道,计算机处理任何事物都必须首先把现实世界的信息转换成它所能理解的信息,这个过程就是所谓的数字化。在现实世界中,我们看到的事物都是连续的图像,但在计算机中,我们若把一副图片放大数倍,会发现这些看似连续的图片其实是由许多小方点所组成,每个小方点涂抹了一种颜色,这些小方点就是构成图片的最小单位:像素。平常所说的分辨率就是指的是一块屏幕/一副图片上显示的像素点数目,比如分辨率为1024*768,其像素数目为1024×768=786,432个。

对于像素,一般在脚本制作中不会用到,但是我们必须有这么一个概念,方便理解脚本中找图的原理,以便分析找图失败的原因!

七,坐标系
通过百度百科,我们查到
笛卡尔创建了"坐标系"这个概念,并最终发展成了数学的一个分支--解析几何!

而我们在脚本制作中的坐标系指的是Windows操作系统中的屏幕坐标系窗口客户区坐标系(简称窗口坐标系)。游戏中的游戏自定义坐标系与各个游戏本身设定相关,不同的游戏(3D、2D)、不同的视角(45度、60度、90度)等都会有不同的游戏坐标系!而屏幕坐标系(窗口坐标系)与游戏自定义坐标系之间的关系和换算就是脚本制作中实现自动寻路,定点(范围)打怪,寻找NPC等功能必须要掌握的!
我们简单的说一下屏幕坐标系和窗口客户区坐标系的关系,屏幕坐标系是一个直角左手系,x轴方向向右为正,y轴方向向下为正,原点(0,0)在屏幕的左上角,以分辨率为1024*768为例,最右上角的点坐标为(1023,0),最左下角的点坐标为(0,767),最右下角的点坐标为(1023,767),窗口坐标系和屏幕坐标系最明显的区别在于坐标原点,屏幕坐标系的坐标原点在整个屏幕的左上角,而窗口坐标系的坐标原点在窗口客户区的左上角,通常这两个点是不重合的。假设窗口坐标系原点坐标在屏幕坐标系中的坐标为(x,y),那么窗口坐标系中的任意一个a点(xa,ya),其在屏幕坐标系中的坐标为(xa+x,ya+y)。

最后说一下找色找图原理及优化:
所有的找色找图语句基于同样一个基本原理,那就是:找色找图以像素点的颜色比较为基础。这个基本原理,是后面所有讨论的出发点,理解这个原理,就能尽量避免找图失败现象的发生。
找色找图是一门很有学问的技术,具有很强的实践操作性,在如下几处地方有优化的空间:
1 源图的选择
2 图片的透明处理
3 设定相似度
4 透明找图 VS 多点找色
(1)源图的选择
在源图的选择上,一定要选择游戏中需要查找的人、物、景、文字与其它du一无二的地方,可以是它的名称,也可以是它的图片。但是一定要保证源图在目标图中的du一无二性,这样才不会出现误判,例如有人以血条来判断怪物,但是宝宝也有血条,结果经常点到自己的宝宝上面;也一定要保证源图不会改变,这样才不会出现漏判,这在3D游戏中尤为明显,很多怪物换个角度样子就不一样了。在源图的选择上,有以下几个常见问题:
为什么使用JPG格式的图片找不到图?
从具体的图片格式看,BMP图片严格按照RGB模型,依次存储图片中所有像素点的颜色信息,没有进行任何压缩,而JPG图片和GIF图片都对原始图片进行了压缩和转换,许多像素点的颜色信息丢失或者改变,从人眼的角度看,一般难以明显分辨一副BMP图片和JPG图片的差别,但是,计算机能够完全比较出像素点的颜色不同,这也是在找图的时候,很多人使用JPG图片找不到图的重要原因。
为什么图片大小和源图不同找不到图?
位图是点阵图,在进行缩放的时候像素点的颜色信息可能也会改变。如下情况都可能会造成游戏窗口中的图像信息与原有图像不同,造成找不到图:
1 游戏窗口在全屏与窗口方式之间进行切换;
2 设定不同的屏幕分辨率;
3 在游戏的过程中,缩放游戏窗口;
4 对截下来需要查找的图片进行了大小、形状变换等
源图和目标图的色深不一样为什么找不到图?
颜色在高级色深与低级色深的相互转换过程中会有改变,例如24色到16色的转换过程中,会丢失一些颜色信息,有一些像素点的颜色由于无法使用16色表示,只能用16色中最接近的颜色来进行表示和填充。因此在找色找图时,屏幕的色深与所需查找的颜色或者图片的色深必须一致,以免出现找不到图的情况。
(2)图片的透明处理
找图很费时,为了提高找图的效率和准确度,TC给出了透明色/背景色的du特处理方法:如果源图的外面一圈/四角为同样一种颜色,TC就把这种颜色默认为透明色,透明色可以是任何一种颜色,包括白色。在找图时,只要遇到了透明色,那么直接认为颜色相等,也就是凡是遇到源图中为透明色的点,就总是认为比较成功。这样既能提高找图的速度,也能提高找图的准确度。涂色的具体方法详见相应的帖子。
(3)相似度的设定
找图时相似度的设定也十分关键,设定的相似度太低的话,容易找到别的图片,造成误判,相似度设定的太高的话,容易造成搜索不到所需要的图片,造成漏检。相似度的设定需要在具体的游戏,具体的图片,反复尝试,才能确定最佳的相似度。
(4)透明找图 Vs 多点找色
多点找色可以看作是一种比较特殊的找图方法,把源图中比较关键的多个点之外的所有点都涂成透明色,效果就相当于多点找色。如果所需查找的源图较为单一(例如数字,字母),使用多点找色可以取得比透明找图更好的效果。找形状是一种特殊的多点找色,即多点找色中所有点的颜色都相同。找形状比较适合颜色单一(例如黑白图片)的场景,例如验证码识别等。
在选择透明找图还是多点找色的问题上,要把握一个原则,即:查找的源图是否复杂。如果源图比较简单,那么优先选择使用多点找色,如果源图实在太复杂,难以给出所有查找点的坐标及其颜色,那么就使用透明找图。如果源图是一个很特殊的图,甚至可以只选择几个最关键的像素点作为多点找色的输入,在此情况下,可以减少多点找色中点的数目,在保证准确度的同时,提高多点找色的效率。

最最后是显卡方面的问题,详细介绍请看<关于找不到图问题的小提示>
传送门:http://bbs.tyuyan.com/thread-10126-1-1.html

TC快速应用之葵花宝典:
首先我们创建一个新的TC项目,语言选择中文,项目名为QvodPlayer(一定写这个项目名哦,不然出错了别来找我!),项目路径设置为最容易找到的位置(比如桌面)
然后我们把代码界面里的代码全部删除,把一下的代码复制粘贴到代码界面里!

  1. 空间 QvodPlayer
  2. 整型 线程句柄
  3. 功能 整型 主线程()
  4. //这里是要执行的代码

  5. 返回 0
  6. 功能结束
  7. 功能 逻辑型 开始_点击()
  8. 线程句柄=线程.开启("QvodPlayer.主线程","")
  9. 返回 真
  10. 功能结束
  11. 功能 逻辑型 退出_点击()
  12. 线程.关闭(线程句柄)
  13. 辅助.退出()
  14. 返回 真
  15. 功能结束
  16. 空间结束
复制代码

我们把要执行的代码写在"//这里是要执行的代码"这句下面,就可以了!!!
当我们点击生成按钮生成成功以后,再点击生成按钮的右边一个打开生成目录的按钮,把里面的QvodPlayer.exe文件复制出来,这个就是我们的脚本程序了!
以后我们再做另一个脚本,就不用新建了,直接打开这个项目,只保留上面这些代码,继续把新的代码写在"//这里是要执行的代码"这句下面,然后再生成,复制出来就又是一个新的脚本了!

做脚本就像是搭积木,我们把手动操作时键盘鼠标的动作用代码写出来,就是最简单的脚本了!

当然,如果大家想系统的了解TC,请关注蓝雀作坊牛牛大大的TC零基础入门教程,<TC零基础入门视频教程  蓝雀作坊du家作品>
题外话:虽然TC学起来很简单,使用起来很方便,但是了解一些基础的编程和脚本知识还是有必要的!也许冷月的解释太狗血,大家可能看不懂,但是有空的时候可以找别的途径去了解一点,想来对大家学习TC,学习脚本制作还是会有一定的帮助的!好了!祝愿大家都能写出自己的脚本作品!












回复

使用道具 举报

发表于 2012-5-4 01:34:08 | 显示全部楼层
不管在什么时候,这个帖子一定要定起

TC的崛起, 需要大家的努力
回复 支持 反对

使用道具 举报

发表于 2012-5-4 02:26:11 | 显示全部楼层
支持一个,很不错哦
回复 支持 反对

使用道具 举报

发表于 2012-5-4 07:27:47 | 显示全部楼层
TC加油
回复 支持 反对

使用道具 举报

发表于 2012-5-4 08:47:16 | 显示全部楼层
支持冷月,支持TC。
回复 支持 反对

使用道具 举报

泥巴路 该用户已被删除
发表于 2012-5-4 09:06:25 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

发表于 2012-5-4 09:15:19 | 显示全部楼层
支持支持顶你顶TC
回复 支持 反对

使用道具 举报

发表于 2012-5-4 09:24:37 | 显示全部楼层
支持冷月大神 。。 菜鸟来膜拜。,。
回复 支持 反对

使用道具 举报

发表于 2012-5-4 09:33:16 | 显示全部楼层
支持大神的分享 学习了
回复 支持 反对

使用道具 举报

发表于 2012-5-4 10:10:18 | 显示全部楼层
支持下,并且感谢
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

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

GMT+8, 2024-5-4 21:09 , Processed in 0.057061 second(s), 25 queries .

Powered by 海安简单软件服务部

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

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