欢迎光临
我们一直在努力

lingo魔法书–变量,字符串和文本域_director教程

建站超值云服务器,限时71元/月

变量


  学过编程的同志都知道所有编程语言上来都先说变量.但是为了照顾大家的情绪,避免把这个教程显得太乏味.我们现在才来讨论变量. 什么是变量?变量好比一个房间,堆放你需要储存的东西.在实际编程中变量有着很重要的作用.同样我们也经常用变量来储存一些比较复杂的表达式.这样可以简化我们程序的编写.变量之所以叫做变量是因为它的值是可以变化的.下面我们先来看看变量的一些操作.


赋值,就是给变量以内容.可以这样写.


变量名=变量值或者表达式


  例如: a=1   a=3*5


变量的类型:在Lingo语言中不同于其他的一些高级语言,要声明变量的类型.Lingo的变量类型是由赋予的内容决定的.我们最常用的是字符和数字两种值.


比如:a=1 变量a的类型是数值型. a=\”1\” 变量a的类型是字符型.注意这里虽然都是1.但是带上\”\”的就是字符串.不带的就是数值.


  首先我们看些字符串的操作


& 表示字符串连接.执行 Put \”ab\”&\”cd\”得到的结果是 \”abcd\”


&& 表示字符串连接当中加上一个空格.执行 Put \”ab\”&&\”cd\”得到的结果是 \”ab cd\”


String(表达式) 将数值转换成为字符串 例如 put string(3*5) 结果为 \”15\”


put string(5)结果为 \”5\”


numtoChar(整数表达式) 将数值转换为字符串,这个数值为字符串的ASCII值.put numtoChar(65)的结果是大写的\”A\”.


相反的Chartonum(字符串)就是把字符转换成为ASC码


选取字符串的长度 Length(字符串) .例如put length(\”abcd\”)结果为4.


删除字符串中的字符


取子字符串 chars(字符串表达式,第一个字符串,最后一个字符串)比如


put chars(\”Macintosh\”,2,4)
— 结果为\”aci\”从第2个取到第4个.





这是一个假冒伪劣的计算器.因为他更本不能计算.只能显示数字和擦除数字.在这里要给大家展示的是文本域的操作Lingo.为了使得问题尽量的简单.我们来看一个按钮显示文本是如何做的.


lingo魔法书--变量,字符串和文本域_director教程


  首先在舞台上用工具栏上的Field按钮在舞台上制作一个文本域.然后在属性面板里面填写上文本域的名字.我们这里取名\”result\”.然后在舞台上画一个按钮.标题为1.整个时间轴这样安排.当然我们不能忘记适用帧脚本停住画面.Sprite 1是文本域 Sprite 2是按钮.Ok我们的基本动作好了.


lingo魔法书--变量,字符串和文本域_director教程


  下面我们要安按钮给文本域写数字.Lingo语言是如何的呢?文本域中的值可以这样来给定.


put 变量或者表达式 into field \”文本域名\”


文本域名我们在例子中是\”result\”.对于1 这个按钮可以这样编写程序


on mouseup


 put \”1\” into field \”result\”


end


如果大家想一个个给按钮写Put \”X\” into field \”result\”的话 那么我的教程是失败的.如果我有100个按钮的话一个个写过来不要写死?我们要用上次说的behavior行为的概念.


按钮全部放到流程线上以后我们可以发现.如果我们仔细观察的话我们可以发现这样一个规律.那就是按钮数和sprite数正好相差1.\”1\”按钮是Sprite 2.\”2\”按钮是Sprite 3.我们是否可以用这个特点做文章呢?


lingo魔法书--变量,字符串和文本域_director教程


on mouseUp me
  buttonvalue=string(the currentspritenum-1)
  put buttonvalue into field \”result\”
end


下面就是我写的一个behavior,核心思想是取得当前sprite的编号,然后-1作为field的内容,关键的语句是the currentspritenum这个系统变量可以取得当前正在操作的sprite的号码,然后减1,再用String函数变换成为字符串赋值给buttonvalue变量.这样的话就可以实现按钮和值的统一.这里我们使用变量是为了让语句看起来更间洁不然我们写put string(the currentspritenum-1) into field \”result\”也可以,但是太长了可读性就差了.


  接下来我们又发现一个问题,那就是我们新按按钮之后原先的值就消失了.正常的计算器显然不是这样的.如何办呢?


on mouseUp me
  content=the text of member \”result\”  –取得当前文本域的值使用系统变量the text of member
  buttonvalue=string(the currentspritenum-1)
  put content&buttonvalue into field \”result\” –让当前文本域的值加上当前相加的值
end


OK我们的behavior写好了.然后一个个赋给所有的按钮.我们还剩下最后一个Back按钮没有制作.


on mouseUp me
  content=the text of field \”result\”
  stringlength=length(content)-1
  nowcontent=chars(content,1,stringlength) –这里我们取子串删除.取得除了最后一个字符以外的所有字符也就是删除最后一个字符.
  put nowcontent into field \”result\” –然后重新赋值给文本域.
end


Ok劣质计算器就做好了.


如果你想要在运行状态下在文本域中输入文字.可以使用sprite(编号).editable =true来设定.当然首先要将该Sprite 木偶化.


on beginsprite me


  puppetSprite 1, TRUE –将Sprite木偶化
  sprite(1).editable = TRUE –将sprite可编辑.


end


Ok我们到这里基本上到了入门教程的尾声,这里我们最后给大家一个技巧就是使用注释语句.很多时候我们在编写Lingo语言的时候,需要对一些语句进行注释.这样的好处是以便于以后自己看一下编程序的思路.不至于若干天之后自己也看不懂.注释在lingo中是不会被执行的.它的开头用 \”–\”表示.在Director中用红色表示.大家可以发现我在整个教程中已经反复用到了注释语句.同样.注释语句的lingo魔法书--变量,字符串和文本域_director教程还有一个好处就是调试程序的时候方便.有些语句我们暂时想禁止他看看会有什么效果.我们只要在前面加上\”–\”就可以让他暂时变成注释不起作用.下次需要的时候只要把\”–\”删除就可以了.在此要感谢Arky给我做了精彩的演示,让我体会了它的强大.最后想告诉大家的是,与其多看理论不如动手实践.自己做和看别人做是完全不一样的.会有很多意想不到的事情发生.这些将是你宝贵的经验.


作者后记:写到这里,我们的Lingo语言基础教程暂时告一个段落了.在编写的过程中,读者热情的催促是我完成它的动力.本来写这个教程的初衷是因为看到了国外的一片Lingo语言教程.觉得是我见过的少数Lingo语言教程之一.当时想把他翻译过来给大家欣赏.但是在照搬改组了前2篇之后登时发现教程的内容偏少.于是在左思右想之后决定重新编写.于是把老外的教程压缩进入第2篇,从第3篇开始全部重写.搬出了4本Lingo语言的书进行参照.由于工作繁忙加上要重起炉灶,所以教程进行特别缓慢.恳请大家谅解.上面的11篇还只是Lingo魔法书的第一页.我们将在以后的日子继续见面的.


机器猫上.

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » lingo魔法书–变量,字符串和文本域_director教程
分享到: 更多 (0)