麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 網(wǎng)站 > 媒體動(dòng)畫 > 正文

Authorware開發(fā)實(shí)例:Authorware 7.0ShowMe范例精選--第2例 繪制扇形比

2024-09-08 19:26:15
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

2.1  程序功能與運(yùn)行

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

    

圖2-1  程序流程圖                               圖2-2  程序運(yùn)行主畫面

在圖2-1中,run to view documentation設(shè)計(jì)圖標(biāo)完成發(fā)布一個(gè)聲明并運(yùn)行程序到主畫面的功能,其余設(shè)計(jì)圖標(biāo)則完成運(yùn)行程序?qū)嵗墓δ堋?/font>

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

l         introduction——程序簡(jiǎn)介

l         one slice or two——程序流程圖標(biāo)設(shè)計(jì)說(shuō)明

l         run the example——運(yùn)行實(shí)例

單擊run the example按鈕,程序進(jìn)入實(shí)例演示分支,其運(yùn)行畫面如圖2-3所示。

圖2-3  實(shí)例運(yùn)行畫面

屏幕左側(cè)窗口使用不同的顏色繪制出4個(gè)扇區(qū),每個(gè)扇區(qū)所占整個(gè)圓形區(qū)域的比例值顯示在各扇區(qū)區(qū)域的中心。

2.2  程序流程分析

2.2.1  相關(guān)參數(shù)設(shè)置

percentages運(yùn)算圖標(biāo)中的代碼如圖2-4所示。

圖2-4  percentages運(yùn)算圖標(biāo)中的代碼

這些代碼用于初始化一些繪制扇區(qū)所需要的相關(guān)變量,例如坐標(biāo)值、角度值、半徑值或比例值等變量。

然后設(shè)置每個(gè)扇區(qū)所占圓形的比例:本例將一個(gè)圓形分為slice_1~slice_4的4個(gè)扇形區(qū)域,每個(gè)扇形區(qū)域的比例分別為40%、30%、20%和10%。

2.2.2  信息提示

whether draw or error決策圖標(biāo)下包含兩個(gè)分支,決策圖標(biāo)的屬性設(shè)置如圖2-5所示。

圖2-5  whether draw or error決策圖標(biāo)屬性設(shè)置對(duì)話框

由屬性設(shè)置可知,決策圖標(biāo)的分支走向?yàn)椤皌o calculated path”,其下欄表達(dá)式如下:

test(slice_1+slice_2+slice_3+slice_4=100,1,2)

這表示如果4個(gè)扇區(qū)比例之和等于100,則設(shè)置正確,進(jìn)入draw分支繪制扇區(qū);如果4個(gè)扇區(qū)比例之和不等于100,則設(shè)置錯(cuò)誤,進(jìn)入error message分支。error message分支顯示圖標(biāo)中嵌入的變量用于顯示信息,提示用戶設(shè)置的幾個(gè)扇區(qū)比例之和大于(或小于)100,不符合要求,應(yīng)重新設(shè)置。

及時(shí)點(diǎn)評(píng)  通過(guò)應(yīng)用test函數(shù)判斷扇區(qū)比例之和是否正確來(lái)決定決策圖標(biāo)分支走向的設(shè)計(jì)技巧,使程序流程能夠按設(shè)計(jì)思路正確運(yùn)行。

2.2.3  繪制扇區(qū)

繪制扇區(qū)的功能是由draw分支完成的,這是本程序的難點(diǎn)部分。

雙擊draw群組圖標(biāo),打開的其下級(jí)流程如圖2-6所示。

圖2-6  扇區(qū)繪制程序流程

流程中含有一個(gè)run all paths決策圖標(biāo),其下含有5個(gè)分支。決策圖標(biāo)屬性設(shè)置如圖2-7所示。

 

圖2-7  run all paths決策圖標(biāo)屬性設(shè)置對(duì)話框

由屬性設(shè)置可知,run all paths決策圖標(biāo)的分支為順序執(zhí)行,且設(shè)置按順序?qū)⑷糠种?zhí)行完。

1.畫扇形

draw line分支運(yùn)算圖標(biāo)的代碼如圖2-8所示。

 

圖2-8  draw lines分支運(yùn)算圖標(biāo)的代碼

這些代碼能夠完成以下功能:

(1)設(shè)置扇形中心點(diǎn)坐標(biāo),本例為x0=100,y0=136;

(2)設(shè)置扇形半徑,本例為radius=76;

(3)依據(jù)4個(gè)扇區(qū)所占圓周比例計(jì)算出各扇形的終止角度angle_1~angle_4;

slice_1為40%,則angle_1=360×40/100=144(度)

slice_2為30%,則angle_2=360×30/100+angle_1=252(度)

slice_3為20%,則angle_3=360×20/100+angle_2=324(度)

slice_4為10%,則angle_4=360×10/100+angle_3=360(度)

(4)應(yīng)用repeat while循環(huán)語(yǔ)句,反復(fù)執(zhí)行l(wèi)ine畫線函數(shù),畫出各扇區(qū)比例。

if語(yǔ)句用于判斷當(dāng)前各角度值是否已到達(dá)本扇區(qū)終止角度,如果尚未到達(dá),則將角度值增加0.5,繼續(xù)用line函數(shù)畫線。

setframe函數(shù)用于設(shè)置繪制本扇區(qū)的顏色。

line(2,x0y0xy)語(yǔ)句表示用線寬2從起點(diǎn)(x0y0)畫線到(xy)。其中,(x0y0)為扇區(qū)中心點(diǎn),這是一個(gè)設(shè)定為(100,136)的不變值,而xy則是依據(jù)當(dāng)前角度經(jīng)三角函數(shù)計(jì)算得到的坐標(biāo)值,其計(jì)算原理示意圖如圖2-9所示。

圖2-9  計(jì)算原理示意圖

x=x1+x0=r·sinα+x0

y=y1+y0=r·cosα+y0

其中,r為radius;α為angle to rotate*pi/180。

所以line畫線終點(diǎn)坐標(biāo)如下:

x=sin(angle to rotate*pi/180)*radius+x0

y=cos(angle to rotate*pi/180)*radius+y0

此外,4個(gè)if round…語(yǔ)句用于判斷在每個(gè)扇區(qū)的中間角度時(shí)的xy坐標(biāo)值并存入temp 1列表變量中。

及時(shí)點(diǎn)評(píng)  用line畫線函數(shù)繪制扇區(qū)時(shí),line函數(shù)的起始點(diǎn)為圓心(x0y0)固定不變,而終止點(diǎn)為變量,是xy。變量xy的每次取值將依據(jù)圓心坐標(biāo)、圓半徑以及扇區(qū)角度當(dāng)前值經(jīng)三角函數(shù)運(yùn)算所得。應(yīng)用repeat while循環(huán)語(yǔ)句,使每個(gè)扇區(qū)從起始角度到終止角度每次遞增0.5弧度,從而使xy的值不斷改變,然后應(yīng)用line函數(shù)的連續(xù)畫線,從而畫出各個(gè)扇區(qū)圖形。

2.求取各扇區(qū)區(qū)域中心部位坐標(biāo)

應(yīng)用如下表達(dá)式,將取得扇區(qū)區(qū)域中心位置坐標(biāo)xy

x為(getnumber(1,getline(temp1,getnumber(1,icontitle),getnumber(1,icon title)))-x0)/2+x0

y為(getnumber(2,getline(temp1,getnumber(1,icontitle),getnumber(1,icon title)))-y0)/2+y0

其中: icontitle變量保存當(dāng)前執(zhí)行的設(shè)計(jì)圖標(biāo)名,例如number[1];getnumber取得字符串變量中某個(gè)數(shù)字值;temp1為自定義變量,在應(yīng)用line畫線函數(shù)繪制扇區(qū)時(shí),扇區(qū)角度到達(dá)本扇區(qū)角度范圍值的一半時(shí),此時(shí)計(jì)算得到的x,y坐標(biāo)值將保存到該變量中。

本程序當(dāng)4個(gè)扇區(qū)繪制完成時(shí),temp1中將保存如下數(shù)據(jù):

temp1:= "172,159/r 76,63/r 27,159/r76,208/r"

getline函數(shù)取得字符串中某行的信息,比如temp1變量中保存的第一行信息“172,159”。因此,兩個(gè)表達(dá)式的運(yùn)算結(jié)果使xy坐標(biāo)正好處于本扇區(qū)區(qū)域中心部位。

及時(shí)點(diǎn)評(píng)  設(shè)計(jì)圖標(biāo)名稱中的數(shù)字值與temp1變量中保存坐標(biāo)值行數(shù)的對(duì)應(yīng)設(shè)計(jì),使得計(jì)算扇區(qū)中心點(diǎn)坐標(biāo)值變得十分方便。

3.顯示扇區(qū)比例值

run all paths決策圖標(biāo)下的number[1]~number[4]分支均為顯示圖標(biāo),在這些顯示圖標(biāo)中嵌入了{(lán)slice_1}~{slice_4}變量。

顯示圖標(biāo)的屬性設(shè)置中將該圖標(biāo)中的對(duì)象顯示位置設(shè)置為表達(dá)式,如圖2-10所示。

圖2-10  number[1]顯示圖標(biāo)屬性設(shè)置對(duì)話框

x的顯示位置為表達(dá)式:

(getnumber(1,getline(temp1,getnumber(1,icontitle),getnumber(1,icon title)))-x0)/2+x0

y的顯示位置為表達(dá)式:

(getnumber(2,getline(temp1,getnumber(1,icontitle),getnumber(1,icon title)))-y0)/2+y0

表達(dá)式運(yùn)算結(jié)果正好是該扇區(qū)中心點(diǎn)坐標(biāo)值。

因此,該扇區(qū)比例值將實(shí)時(shí)顯示在本扇區(qū)區(qū)域的中心點(diǎn)。

及時(shí)點(diǎn)評(píng)  在顯示圖標(biāo)中嵌入變量,然后設(shè)置好顯示圖標(biāo)中對(duì)象的定位顯示屬性,則變量的值將實(shí)時(shí)顯示在需要顯示的地方。

2.3  小結(jié)

本例用line函數(shù)繪制扇形圖形,其中主要應(yīng)用了如下一些原理和技術(shù):

l         應(yīng)用line函數(shù)畫扇形的原理

l         根據(jù)表達(dá)式的值確定決策圖標(biāo)分支走向的設(shè)計(jì)

l         扇形區(qū)域中心點(diǎn)坐標(biāo)的計(jì)算

l         嵌入變量的顯示定位設(shè)置

根據(jù)以上設(shè)計(jì)原理,可以通過(guò)改變扇形比例值或區(qū)域個(gè)數(shù),來(lái)繪制出需要的扇形比例圖。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 亚洲视频在线网 | 1级黄色毛片 | 久久大陆| 免费色片 | 午色影院 | 精品国产91久久久久久 | 国产精品成人免费一区久久羞羞 | 免费午夜视频 | 亚洲成人福利在线 | 久久久久久久久成人 | 欧美成人精品一级 | 337p日本欧洲亚洲大胆精蜜臀 | 在线成人av| avav在线播放 | 国产精品久久久久久久久久 | 九九视屏 | 欧美精品成人一区二区在线观看 | 成人羞羞国产免费游戏 | 懂色粉嫩av久婷啪 | 久久人人人 | 亚洲视频在线免费看 | 国产精品久久久久久久久久 | 伊人二本二区 | 一级做受毛片免费大片 | 草草在线视频 | 久久9久久 | 一级大黄毛片免费观看 | wwwxxx国产| 狠狠一区二区 | 日本教室三级在线看 | 成年免费看 | 精品久久一区二区三区 | 国产亚洲精品久久久久久久久 | 石原莉奈日韩一区二区三区 | 午夜神马福利视频 | 亚洲免费毛片基地 | 成人在线观看免费视频 | 午夜视频久久久 | 久草在线免费看 | 久久久久久久高清 | 精品国产一区二区久久 |