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

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

Authorware開發實例:Authorware7ShowMe范例精選--第3例 繪制柱狀比例圖

2024-09-08 19:26:15
字體:
來源:轉載
供稿:網友

3.1  程序功能與運行

打開程序,屏幕上顯示如圖3-1所示的程序流程圖和如圖3-2所示的程序運行主畫面。

    

圖3-1  程序流程圖                            圖3-2  程序運行主畫面

在圖3-1中,run to view documentation設計圖標完成發布一個聲明并運行程序到主畫面的功能,其余設計圖標則完成運行程序實例的功能。

在如圖3-2所示的主畫面中有如下3個按鈕:

l         introduction——程序簡介

l         creating bars——程序流程圖標設計說明

l         run the example——運行實例

單擊run the example按鈕,程序進入實例演示分支,其運行畫面如圖3-3所示。

圖3-3  實例運行畫面

畫面左側窗口有一個縱向為0~100刻度的顯示區,中間繪有6種顏色的柱狀方塊,它們的高度各不相同;顯示區左上角還顯示有該6種顏色所分別表示含義標識。畫面右側則顯示一些相關文字說明,單擊滾動條上下兩端的箭頭可向上或向下瀏覽文字內容。

3.2  程序流程分析

3.2.1  設置屬性列表

本例在set data here運算圖標中用如下的代碼設置了一個含有6個元素的屬性列表:

datalist:=[#a∶10,#b∶20,#c∶30,#month∶month,#day∶day, #seconds∶sec];

第1個元素屬性值為a,元素值為10;

第2個元素屬性值為b,元素值為20;

第3個元素屬性值為c,元素值為30;

第4個元素屬性值為month,表示系統日期的月份數;

第5個元素屬性值為day,表示系統日期當月的日期號數;

第6個元素屬性值為seconds,表示系統時間秒數。

及時點評  程序利用一個屬性列表,定義了繪制一個柱狀圖的數據。屬性列表的元素個數即為繪制柱狀圖的個數;每個元素的屬性值即為每塊柱狀圖的含義標識;每項元素的元素值即為每塊柱狀圖的高度值。本例共定義了6個柱狀塊,前面3個柱狀塊的高度為具體數值,后面3個柱狀塊的高度為系統變量。

3.2.2  設置柱狀相關參數

draw bars運算圖標中代碼的前半部分如圖3-4所示。

代碼的前半部分進行繪制柱狀塊的相關參數設置,包括如下的一些內容:

(1)柱狀塊高度范圍,保存在range變量中。

(2)每塊柱狀寬度,保存在barwidth變量中。

(3)高度的等分刻度值,保存在grid slice變量中。

(4)柱狀圖底線縱坐標值,保存在grid bottom變量中。

 

                          圖3-4  draw bars運算圖標中的代碼(前半部分)

及時點評  在一個窗口繪制柱狀圖時,除了知道柱狀塊的個數和每個柱狀塊的的高度值外,還必須知道窗口畫面的高度和寬度值,并且要設置好高度范圍值和每個柱狀塊所占寬度。

本例繪圖窗口為graph area顯示圖標中繪制的矩形線框范圍,并設置范圍高度為0~100,將線框高度平分為10等分,應用repeat with…語句繪制出等分刻度線。將線框寬度除以6得到每個柱狀塊的寬度;并且以線框的底線作為繪制柱狀圖的基線坐標。這些設置充分利用了圖形坐標顯示變量,為柱狀圖繪制做好充分準備

3.2.3  繪制柱狀圖及其標識圖

draw bars運算圖標中的后半部分代碼完成繪制柱狀圖及其標識的功能。后半部分的代碼如圖3-5所示。

用repeat with…循環語句循環6次執行box函數,分別繪制出datalist屬性列表中6個項目所表示的6個柱狀塊。

box函數的應用格式如下:

box(n,x1y1,x2,y2

其中:n為線寬數,x1y1為方框起點坐標,x2,y2為方框終點坐標。

由于每塊柱狀的高度數據、寬度值、線框高度范圍和基線坐標均已設定。因此,繪制每塊柱狀時的起點與終點坐標均可通過變量代入計算求得。

 

圖3-5  draw bars運算圖標中的代碼(后半部分)

比如繪制第2個柱狀塊時,計算如下:

barnumber=2

valueatlndex(datalist,barnumber)=20

box(1,displayleft @"graph area"+((barnumber-1)×barwidth),gridbotton,

    displayleft @"graph area"+(barnumber×barwidth),gridbotton-(gridslice×valueat index(data list,barnumber)))

box函數繪制柱狀的坐標值如下:

x1=displayleft @"graph area"+barwidth

y1=gridbottom

x2=displayleft @"graph area"+2×barwidth

y2=gridbottom-20×gridslice

示意圖如圖3-6所示。

圖3-6  示意圖

同時,每畫一個柱狀塊,就接著應用另一句box函數繪制出一個10×10的小方框放在畫面左上角,作為該柱狀塊的標識。

繪制標識小方框的語句中應用了color key顯示圖標中對象的位置坐標。color key顯示圖標中的對象是一個嵌入變量{datanames},該變量保存了屬性列表中6個元素的屬性值,且每個屬性值之間用return符隔開,如下:

datanames:=[a/r b/r c/r month/r day/r seconds/r]

因此,datanames顯示出來為縱向排列的屬性值。

color key顯示屬性設置如圖3-7所示。

由如圖3-7所示的設置可知,設計圖標選擇了實時改變變量值,并讓對象直接顯示于窗口。圖標對象顯示定位區域為on screen,其顯示坐標位置表達式如下:

x=15+displayleft @"graph area"+(displaywidth @"color key"/2)

y=2+displaytop @"graph area"+(displayheight @"color key"/2)

                  

圖3-7  【color key】顯示屬性設置對話框

這表示{datanames}顯示位置將在“graph area”線框圖形的左上角。繪制標識小方框的語句如下:

box(1,displayleft @"color key"-10,displaytop @"color key"+2+(14×(barnumber-1)),displayleft @"color key",displaytop @"color key"+2+(14×(barnumber-1))+10)

也就是說繪制第2個標識小方框的位置坐標如下:

x1=displayleft @"color key"-10

y1=displaytop @"color key"+16

x2=displayleft @"color key"

y2=displaytop @"color key"+26

顯然,第2個標識小方框顯示于{datanames}屬性值向左10個像素,向下16個像素的地方,且方框大小為10像素×10像素。

在繪制每一個柱狀塊與其標識小方框時,都要應用rgb語句隨機設置一種顏色,因而6個柱狀塊及其標識的顏色都是各不相同的。

及時點評  box函數繪制矩形是一個簡單的應用過程。但在應用box函數繪制矩形時的起點與終點坐標的設置是一個技巧性很強的設置。起點與終點坐標可以是固定的數值,也可以是變量或表達式。本例應用的是對應于某個顯示對象的相對位置,比如柱狀塊的位置以graph area設計圖形為基準,而標識小方框以color key對象為基準。靈活而準確的應用相對位置是showme 3.0中頻繁使用的設計技巧。

本例用setfill函數填充box所繪制的矩形。用來填充矩形的顏色是由random隨機函數隨機產生的,因此每次繪制時6個柱狀塊的顏色均是不相同的,而且是隨機的。

另外,由于dataleft屬性列表的后3項元素值均為系統變量,同時時間是變化的,因此每次繪制后3個柱狀塊的高度是不一致的。前3項是固定數值,則柱狀塊的高度是固定的。用戶也可修改設置,但在數據過大時,要修改范圍值 range,以免繪制的柱狀塊超出range的最大范圍。

3.2.4  標識含義的顯示

在如圖3-4所示的運算代碼中,每當繪制一塊柱狀圖時,均把datalist屬性列表中本元素的屬性標識符添加到datanames變量中,其代碼語句如下:

datanames:=datanames^strip("#",propertyatindex(datalist,barnumber))^return在每添加一個標識符時都帶上了換行符return。

datanames變量已嵌入在color key顯示圖標中,所以在畫面左上角顯示出6種顏色所代表的屬性標識。

3.3  小結

本程序將一個屬性列表中所包含的元素,用隨機產生的顏色繪制成柱狀比例圖,并且各柱狀的標識含義同時被繪制到畫面左上角。

本例主要應用了如下的一些原理和技術:

l         屬性列表的創建

l         box函數繪制矩形方框的技術

l         setfill函數填充方框的技術

l         隨機顏色的產生

l         用repeat with 循環語句將屬性列表各元素項繪制成柱狀比例圖的設計

l         顯示對象屏幕坐標值的獲取與應用

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97av在线视频| 欧美国产日韩一区二区| 久久影视电视剧免费网站清宫辞电视| 久久亚洲国产精品| 久久久亚洲国产天美传媒修理工| 亚洲精选在线观看| 日韩一级裸体免费视频| 欧美日本亚洲视频| 日韩高清人体午夜| 色综合视频网站| 日韩精品视频在线观看网址| 久热精品视频在线免费观看| 欧美xxxx18性欧美| 日韩麻豆第一页| 国产精品青青在线观看爽香蕉| 欧美性高潮在线| 亚洲最大成人网色| 久久九九有精品国产23| 91中文在线视频| 91网站在线免费观看| 欧美国产日韩免费| 亚洲国产日韩欧美在线99| 久久成人精品视频| 国产色视频一区| 成人免费看吃奶视频网站| 欧美寡妇偷汉性猛交| 欧美国产乱视频| 亚洲日韩中文字幕在线播放| 国产欧美日韩91| 欧美日韩免费看| 日本亚洲欧洲色| 国产精品久久久久高潮| 一区二区欧美日韩视频| 亚洲一区二区精品| 国产精品久久在线观看| 亚洲国产黄色片| 一本一道久久a久久精品逆3p| 国产成人精品在线播放| 亚洲色图五月天| 国产伦精品免费视频| 国产成人综合一区二区三区| 欧美在线xxx| 欧美成人午夜激情视频| 国产精品午夜视频| 久久久国产影院| 精品国产一区二区三区久久久狼| 国产mv免费观看入口亚洲| 欧美三级xxx| 欧美电影在线观看网站| 97成人精品视频在线观看| 日韩激情片免费| 国产丝袜精品第一页| 亚洲视频网站在线观看| 在线观看欧美www| 久久久www成人免费精品张筱雨| 亚洲iv一区二区三区| 亚洲国产女人aaa毛片在线| 日韩av手机在线看| 国内精品中文字幕| 岛国av一区二区在线在线观看| 欧美美女18p| 91日本在线视频| 欧美性xxxxx极品娇小| 国产精品私拍pans大尺度在线| 亚洲欧美日韩精品| 国产精品夜色7777狼人| 亚洲自拍欧美另类| 成人国产精品日本在线| 国产亚洲视频中文字幕视频| 中文字幕欧美视频在线| 国产91色在线| 精品成人乱色一区二区| 91精品视频专区| 欧美怡春院一区二区三区| 欧美色另类天堂2015| 亚洲免费视频一区二区| 久久久成人精品| 亚洲精品小视频在线观看| 一区二区福利视频| 亚洲天堂av在线播放| 国产精品视频自拍| 精品国产成人在线| 91精品国产91久久久久久久久| 国模精品视频一区二区三区| 不用播放器成人网| zzjj国产精品一区二区| 97超碰色婷婷| 亚洲电影在线观看| 国产精品亚洲激情| 日韩精品中文字幕久久臀| 欧美巨乳在线观看| 亚洲性生活视频在线观看| 日韩欧美在线看| 欧美一级成年大片在线观看| 欧美人交a欧美精品| 精品无人区太爽高潮在线播放| 日本午夜在线亚洲.国产| 亚洲国产一区二区三区在线观看| 91国产中文字幕| 在线观看国产精品日韩av| 欧美成人性色生活仑片| 亚洲福利在线看| 日韩国产一区三区| 欧美性猛交xxxx久久久| 国产视频综合在线| 久久久久久久999精品视频| 中国china体内裑精亚洲片| 欧美寡妇偷汉性猛交| 91精品免费久久久久久久久| 欧美激情在线有限公司| 丝袜亚洲欧美日韩综合| 精品中文字幕在线观看| 欧美日韩999| 欧美交受高潮1| 亚洲free嫩bbb| 最近2019中文字幕一页二页| 国产视频亚洲精品| 国语自产在线不卡| 成人免费观看a| 亚洲国产99精品国自产| 国产在线拍偷自揄拍精品| 久久久久亚洲精品| 亚洲欧美激情视频| 欧美另类精品xxxx孕妇| 日韩高清免费观看| 久久久www成人免费精品张筱雨| 国产视频精品久久久| 日韩在线视频播放| 日韩经典第一页| 国产精品高潮视频| 668精品在线视频| 欧美性极品少妇精品网站| 亚洲精品自拍视频| 自拍亚洲一区欧美另类| 欧美日本高清一区| 日韩免费观看在线观看| 狠狠躁18三区二区一区| 亚洲色图欧美制服丝袜另类第一页| 欧美激情视频三区| 96sao精品视频在线观看| 久久久中精品2020中文| 亚洲国产精彩中文乱码av| 国产婷婷97碰碰久久人人蜜臀| 综合激情国产一区| 高清欧美性猛交xxxx| 色偷偷av一区二区三区乱| 色播久久人人爽人人爽人人片视av| 亚洲人成电影网站色…| 亚洲偷欧美偷国内偷| 欧美体内谢she精2性欧美| 88国产精品欧美一区二区三区| 亚洲精品一区中文字幕乱码| 色偷偷偷综合中文字幕;dd| 国内精品在线一区| 国产精品欧美日韩一区二区| 精品女同一区二区三区在线播放| 国产日韩欧美日韩大片| 日韩av电影手机在线| 国产精品免费一区| 国产丝袜精品第一页| 亚洲欧美激情另类校园| 2019最新中文字幕| 国产日韩在线精品av| 91精品久久久久久久久久久|