亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > 媒體動畫 > 正文

Authorware類和函數:Eval與EvalAssign函數地運用

2024-09-08 19:24:38
字體:
來源:轉載
供稿:網友
作者:hellrock @汕大4u2v工作室

  精通authorware的開發應用,從某種程度上說取決于是否熟悉掌握運用函數和變量。可是,在眾多的authorware系統函數中,你是否挖掘過eval和evalassign這兩個系統函數呢?下面我們就一起來見識一下eval和evalassign這一對兄弟函數的“絕活”吧。

  eval和evalassign這兩個系統函數的功能十分相似,只是用法存在差異而已,因此我們稱它們為“兄弟函數”。

eval的表達式如下:

result := eval("expression"[, "decimal", "separator"])

  eval函數的功能是計算表達式expression的值,并將該值賦給result,在該函數的expression表達式中,不能包含賦值操作符“:=”。

eval的“兄弟函數”evalassign的表達式如下:

result := evalassign("expression" [, "decimal", "separator"])

  evalassign函數的功能同eval相似,計算表達式expression的值,并將該值賦給result,在該函數的expression表達式中,可以包含賦值操作符“:=”。

  由此可見,和eval函數相比,evalassign的參數中可以帶賦值號“:=”,即它的參數可以是一個賦值語句,而eval函數則不行。下面我們簡單介紹一下eval函數與evalassign函數的具體用法。

(一)eval的簡單用法



圖1.1 eval簡單用法范例

  這里我們引用一個范例來說明eval的簡單用法。我們要實現一個簡單的計算:提示用戶輸入一個代數表達式,然后計算出并得出該表達式的值。程序流程圖如上圖1.1,開始的計算圖標是設置演示屏幕的大小,接下來的顯示圖標“輸入提示”提示用戶輸入一個代數表達式,文本輸入交互“*”可接受用戶的任意一個字符串輸入,然后求值。在這個范例的核心問題就是:用文本交互接受的用戶輸入“entrytext”是一個字符串,然后怎樣將該字符串轉化為一個代數表達式,并求出其值?通過eval函數,我們可以很容易的解決這個問題,如圖1.2和圖1.3所示,計算圖標的表達式如下:

statment:=entrytext^"="^eval(entrytext)
  這里求出的用戶自定義變量statement是一個字符串,有三部分組成:用戶輸入的原字符串、“=”符號、結果值,三部分是通過連接符號“^”連接起來的。至于顯示圖標“顯示結果”,只是實現顯示變量字符串statement的功能,可直接用文本工具寫上{statement}即可。例如:用戶輸入“4+8”回車,屏幕將顯示最后結果“4+8=12”,如圖1.4所示。通過這個小小的范例是不是從中得到一點關于eval函數用法的啟示?


圖1.2 eval簡單用法范例文本交互內容


圖1.3 eval簡單用法范例文本交互內容


圖1.4 eval簡單用法范例運行結果

(二)evalassign的簡單用法

  在上文中我們提到和eval函數相比,evalassign函數的參數參數中可以帶賦值號“:=”,具體怎么運用呢?在程序設計中我們往往需要把圖標對象動態的改變其移動屬性,開始所有的對象都是可移動的,在程序的某個特定時刻,我們需要把對象變為不可移動,如何實現?假設我們所有的對象都命名為“contentx”,其中x為序號,這樣的命名將有利于我們程序的控制。我們知道,要“固定”一個對象并不難,在程序中可以這樣寫:

movable@"contentx":=false

  這樣就可“固定”序號為x的某個對象,可是如果我們要控制十個,幾十個,甚至幾百個對象呢,難道我們還用上面的方法一個一個的寫程序?用evalassign函數可以很簡單地解決這個問題,我們只要寫上一個程序段就可以實現對所有對象的“固定”,即不可移動屬性了:

evalassign("movable@/"content"^number^"/":=false")
  其中number是變量,通過對number的取值,就可以達到對各個對象的控制,因此運用evalassign函數的關鍵就是歸納或設計出一個能代表全部元素的通用變量表示式,上面所闡述的原理eval函數也是通用的。為了加深認識,我們來看一個簡單應用的實例,下圖1.5為其流程圖。它實現一個簡單功能:只用一個按鈕操作就可順序切換到框架中的各個分支。


圖1.5 evalassign簡單用法范例

  首先建立如圖1.5的流程圖,在“start”計算圖標里寫入如下公式代碼:

resizewindow(320,180) ----設置演示屏幕大小

i:=1 ----給自定義變量i賦值

repeat with k:=1 to 5 ----循環設置pic系列顯示圖標為不可移動evalassign("movable@/"pic"^k^"/":=false")

end repeat

  根據圖1.5的流程圖,我們可以知道范例中的關鍵是把框架中的顯示圖標命名為一系列有規律的名稱:“pic1”、“pic2”….“pic5”,然后利用evalassign系統函數編寫通用的代碼,按鈕響應交互(設置為永久交互)的計算分支“goto icon”代碼如下:

if i=5 then

i:=0

end if

i:=i+1

evalassign("goto(iconid@/"pic"^i^"/")")


  其中變量“i”為自定義變量,通過它的動態改變而實現循環的切換到框架的各個分支。在程序的開頭我們還要對變量“i”賦初值:i:=1,這樣可以確保從框架的第一個分支開始進行循環切換。最后運行的效果如下圖1.6所示,只要不斷的按“goto icon”按鈕,按鈕下面的數字圖片,即代表各個分支的圖片就會順序的循環切換。


圖1.6 范例演示效果

專題總結

  通過上面的學習,對eval和evalassign兩個系統函數的用法是不是有了更深的認識?有了這兩個“兄弟函數”,我們就可以在程序中把大批量相同性

[1] [2] 下一頁  

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久精品999| 欧美第一淫aaasss性| 亚洲欧美日韩区| 色偷偷888欧美精品久久久| 亚洲精品资源在线| 日韩精品免费综合视频在线播放| 不卡av在线播放| 欧美激情综合色| 久久伊人精品视频| 国产精品视频99| 亚洲男人的天堂网站| 成人激情视频小说免费下载| 一区二区三区无码高清视频| 在线视频欧美日韩| 亚洲xxx大片| 日韩毛片中文字幕| 欧美成人合集magnet| 欧美高清视频在线观看| 精品久久久999| 亚洲一区久久久| 色中色综合影院手机版在线观看| 2021国产精品视频| 欧美另类精品xxxx孕妇| 91情侣偷在线精品国产| 91极品女神在线| 91精品久久久久久久久久另类| 亚洲xxxx妇黄裸体| 久久亚洲精品小早川怜子66| 久久久久久久成人| 精品少妇v888av| 国产精品久久久久久久久粉嫩av| 精品福利一区二区| 亚洲精品一区中文字幕乱码| 美女视频久久黄| 日韩av网站在线| 精品国产一区二区三区在线观看| 欧美成人精品在线观看| 日韩小视频在线观看| 成人免费视频网| 影音先锋欧美精品| 日韩欧美aⅴ综合网站发布| 在线视频欧美日韩精品| 国产精品88a∨| 亚洲影院污污.| 日韩影视在线观看| 亚洲综合国产精品| 91精品视频播放| 中文字幕亚洲一区| 国产精品视频白浆免费视频| 欧美激情免费在线| 久久国产精品久久久久久久久久| 91精品国产91久久久久久最新| 亚洲综合中文字幕在线| 亚洲欧美日韩国产精品| 精品美女国产在线| 欧美怡红院视频一区二区三区| 日本欧美中文字幕| 国产激情久久久| 中文字幕亚洲欧美日韩高清| 98视频在线噜噜噜国产| 欧美激情精品久久久| 国产精品一区二区三区久久| 国产亚洲精品91在线| 国产美女被下药99| 久久精品在线播放| 国产精品99一区| 隔壁老王国产在线精品| 中文字幕日韩在线视频| 久久九九热免费视频| 国产999在线观看| 亚洲欧美中文在线视频| 国产精品一区二区性色av| 国产亚洲精品久久久久久牛牛| 国产香蕉精品视频一区二区三区| 国产亚洲激情在线| 亚洲国产精品中文| 中日韩美女免费视频网址在线观看| 一区二区三区无码高清视频| 日韩免费中文字幕| 黄网站色欧美视频| 国产亚洲欧美视频| 黑人巨大精品欧美一区二区三区| 日韩中文字幕久久| 欧美精品做受xxx性少妇| 国产一区二区三区在线看| 最好看的2019的中文字幕视频| 亚洲激情视频在线| 日本aⅴ大伊香蕉精品视频| 九九热r在线视频精品| 欧美裸体男粗大视频在线观看| 精品久久久久久久久久久| 国产精品视频内| 亚洲第一精品久久忘忧草社区| 超薄丝袜一区二区| 久久影院中文字幕| 在线观看久久av| 97在线看免费观看视频在线观看| 国产美女主播一区| 亚洲在线视频观看| 日韩av在线免费| 亚洲国产天堂久久综合网| 欧美激情a在线| 91欧美精品午夜性色福利在线| 久久男人资源视频| 全色精品综合影院| 91精品国产自产在线老师啪| 中文字幕久热精品在线视频| 欧美日韩国产丝袜另类| 亚洲精品色婷婷福利天堂| 欧美性xxxxhd| 亚洲黄色有码视频| 日韩av在线免费看| 久久视频中文字幕| 精品久久久香蕉免费精品视频| 日韩av电影在线播放| 国产精品综合不卡av| 国产狼人综合免费视频| 日韩免费av一区二区| 91系列在线观看| 色狠狠av一区二区三区香蕉蜜桃| 亚洲高清不卡av| 久久夜精品香蕉| 欧美中文字幕视频| 成人网中文字幕| 欧美另类99xxxxx| 成人免费视频97| 成人午夜在线观看| 亚洲美女www午夜| 精品久久中文字幕久久av| 日韩女优人人人人射在线视频| 精品日韩视频在线观看| 91精品啪aⅴ在线观看国产| 色无极影院亚洲| 日韩精品在线私人| 成人a视频在线观看| 欧美高清性猛交| 97香蕉久久超级碰碰高清版| 日本一区二三区好的精华液| 久久综合久中文字幕青草| 亚洲一区二区福利| 中文字幕久热精品在线视频| 色先锋久久影院av| 久久久久久久网站| 亚洲人成伊人成综合网久久久| 欧美与黑人午夜性猛交久久久| 亚洲精品久久久久国产| 国产一区二区三区免费视频| 亚洲影影院av| 久久精品国产欧美亚洲人人爽| 日本久久久久亚洲中字幕| 亚洲国产另类 国产精品国产免费| 欧美激情久久久久久| 亚洲无线码在线一区观看| 亚洲欧美另类人妖| 亚洲18私人小影院| 91精品啪aⅴ在线观看国产| 成人免费激情视频| 欧美一区二区大胆人体摄影专业网站| 日韩一区二区福利| 国产伊人精品在线| 亚洲自拍高清视频网站| 国产精品国产亚洲伊人久久| 国产精品国产福利国产秒拍| 亚洲精品国产精品国产自|