查看“语法:脚本变量”的源代码
←
语法:脚本变量
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于这些用户组的用户执行:ninja、
机器人
、
管理员
您可以查看和复制此页面的源代码。
此页会讲解如何在脚本中使用变量存储处理过程中的值,用来做进一步的处理。同时也会描述脚本可以操作的数据类型,以及如何书写变量。 实际上变量名可以是一个任意长度的字符串(从v2.56开始可以有4000个字符以上),可以是(英文)字母、数字和下划线(_)的组合,但不能有其他的字符。变量名不得用数字开头。 你也可以在字符串和文件名中使用你系统的本地编码。 变量在''表达式''中的位置取决于 [[Avisynth语法|语法]] 变量可以有以下''类型'': *'''clip (剪辑)''' :一个视频片段包含视频轨和/或音频轨。一个脚本返回的值必须是这种类型。 *'''string (字符串)''' :一串代表文字的字符序列。字符串的写法是把字符用“引号”或“三重引号”括起来。文字包含除了两端引号或三重引号之外的任何字符。 手册以前提到多TeX式样的引号,但是v1.03以后的Avisynth确实无法使用这种风格。如果你想在字符串中打引号,只需用[http://forum.doom9.org/showthread.php?s=&threadid=71597 Python式样]的“三重引号”。比如: Subtitle("""AVISynth is as they say "l33t".""") 此外,你也可以用在字符串里用Windows扩展ASCII字符集的引号(curly-quotes),而不直接写引号,这样也能避免此类限制。 *'''int (整数)''' :一个整数。输入一串数字,成为一个整数变量。在数字前面也允许有正号(+)或负号(-)。在十六进制的字符前面加上$的话,也可以作为数值。比如$ff或$FF(大小写没有影响)等于255. *'''float (浮点)''' :有小数点的数。输入一串包含小数点的数字,成为浮点变量,也可以有正号(+)或负号(-)。例如,+1. 是浮点类型。注意'''不支持'''指数记号。 *'''bool (布尔)''' :布尔值必须是“true”(真)或“false”(假)。此外也可以写作“yes”或“no”,但是应该尽量避免在脚本里这样写。(保留“yes”和“no”仅仅是出于兼容性的目的)。 *'''val (变量)''' :一个通用类型的名字。只能用在[[自定义脚本函数]]的变量列表里,目的是为了能够声明一个''任意''类型(int、float、bool、string或clip)的参数变量。必须明确它的类型(用[[语法:布尔函数|布尔函数]]),再做恰当的处理。 还有另一种只在Avisynth处理内部使用的类型 - void(空)或“undefined”(未定义),主要和可选的函数的参数一起使用。 变量可以是局部的(限制在正在执行的脚本的局部尺度)或是全局的。全局变量的范围是所有脚本环境的尺度,所有内部函数、用户定义函数、运行环境脚本和主脚本都可以访问。 要定义和/或给一个全局变量赋值,在赋值语句中,变量名的左边必须添上关键字“global”。在读取全局变量是,并不需要(实际上也不允许)写这个关键字。比如: global canvas = BlankClip(length=200, pixel_type="yv12") global stroke_intensity = 0.7 ... global canvas = Overlay(canvas, pen, opacity=stroke_intensity, mask=brush) 想要声明一个变量,仅仅需要在变量名称之后加上“=”(等号),再加上初值就够了。类型不必声明;类型靠给它赋的初值确定(而且也能被以后的赋值语句改变)。唯一允许声明变量类型的地方只有用户定义函数脚本的参数列表里(虽然没有严格要求)。比如: b = false # 声明了一个初值是“false”(假)的布尔变量,变量名是“b” x = $100 # 整数类型(初值是十六进制) y = 256 # 整数类型(初值是十进制) global f = 0.0 # 浮点类型的全局变量 ... function my_recolor_filter(clip c, int new_color, float amount, val "userdata") { ... } [[分类:AviSynth语法]]
返回至“
语法:脚本变量
”。
导航菜单
个人工具
登录
名字空间
页面
讨论
不转换
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
台灣正體
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
社区门户
新闻动态
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息
其他资源
AviSynthWiki(英语)
avisynth.info(日语)
NMM论坛(讨论区)