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

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

Authorware開發實例:Authorware7ShowMe范例精選--第4例 畫折線

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

4.1  程序功能與運行

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

 

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

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

在如圖4-2所示的程序運行主畫面中有如下3個按鈕:

l         introduction——程序簡介

l         drawing functions——程序流程圖標設計說明

l         run the example——運行實例

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

圖4-3  實例運行畫面

畫面左側顯示出一個網格背景的區域,區域中畫有一條紅色直線,右側有兩個按鈕,一個是enter x value,一個是enter y value。用戶可單擊任意一個按鈕后并在坐標閃爍處輸入一個數值,從而得到折點的坐標值,程序將擦除原有直線并以此為折點在網格區域中畫出一條折線。

用戶也可用鼠標在網格區域內單擊任意位置并以此單擊點為折點畫折線,此時折點的坐標值將被實時顯示出來。

4.2  程序流程分析

4.2.1  程序啟動畫面

程序啟動畫面如圖4-3所示。

一條直線從網格區域左下角畫到右上角,折點坐標顯示為(0,0)。

這是因為程序首先進入了graphing function交互圖標下的true--graph data條件響應分支。該條件交互響應分支設置一直都有效,所以隨時可進入。

雙擊true--graph data群組圖標,其下級流程如圖4-4所示。

圖4-4  true--graph data下級流程

該流程中首先擦除已經畫出的線條,然后執行draw new lines運算圖標。運算圖標中的代碼如圖4-5所示。

圖4-5  draw new lines運算圖標中的代碼

 

該代碼首先對折點坐標變量的值做了如下的限制:

10≤datapointx≤183

53≤datapointy≤218

這是因為畫面上網格背景區域在上面的范圍之內,如圖4-6所示。

圖4-6  坐標系統說明圖

然后用line函數畫線。

由于datapointx和datapointy的初始值設為10和218,因此line函數畫出一條從(10,218)到(183,53)的紅色直線。

同時,由于在交互圖標中嵌入了{datapointx-10}和{218-datapointy},因此折點坐標值顯示為(0,0)。

及時點評  按照屏幕坐標系統的定義,坐標原點在屏幕左上角,x軸愈往右愈大,y軸則愈往下愈大,這一點與平面坐標系是不同相同的,按照這個定義,o′點的屏幕坐標值為(10,218),網格區域坐標范圍則為(10,53)~(183,218)。

4.2.2  用鍵盤輸入折點坐標

程序流程中設計了enter x valueenter y value兩個按鈕交互響應分支,這就是圖4-3中畫面右側出現的兩個按鈕。單擊其中一個按鈕,程序進入其中一個分支群組圖標,其下級流程如圖4-7所示。

文本輸入交互響應在畫面上形成一個坐標閃爍處,等待用戶輸入一個數值。用戶輸入一個數值(例如20)并按回車鍵確認后,該數值將被增加10而存入datapointx變量,即此時datapointx的值為30。

如果鍵入一個y坐標數值(比如135),則該值與218之差值存入datapointy變量,即此時datapointy的值為83。

x,y值的這種變換原因將在后面作詳細解釋。

 

圖4-7  enter x value下級流程

4.2.3  用鼠標單擊取得折點坐標

程序設計了一個click on grid的熱區交互響應分支,熱區區域就是網格背景區域。當用戶用鼠標在網格區域內單擊時,其下的運算圖標執行datapointx:=clickx,datapointy:=clicky從而將鼠標單擊處的坐標值存入折點變量datapointx和datapointy。

及時點評  無論是鍵盤輸入還是鼠標單擊,其目的都是為了取得xy的坐標值并將該值存入折點坐標變量datapointx和datapointy,從而為畫折線做好了數據準備。

由于文本輸入時用代碼限定了輸入數值的范圍,而鼠標單擊熱區褪峭袂潁虼耍vち肆街址椒ㄋ〉玫惱鄣闋暌歡ㄔ諭袂蛑凇?/font>

4.2.4  畫折線

由于文本輸入交互響應分支和鼠標單擊熱區交互響應分支的分支跳轉均設為“continue”,故程序在執行這幾個分支后均往右繼續而進入true條件交互響應分支。

該分支功能在前面已作了分析,只是此時datapointx和datapointy的值已不是初始值,因此兩句line函數畫出的兩條直線在datapointx、datapointy坐標點處形成折點,從而畫出一條折線。

注意,折線的起始點坐標仍為(10,218),終點坐標仍為(183,53)。

及時點評  當一個條件交互響應分支放在其他分支右側時,前面分支的跳轉均應設為“continue”,這樣才能保證最右側的條件交互響應分支得以執行。

4.2.5  坐標換算原理

由于屏幕坐標系統與平面坐標系定義不同,要保證按屏幕坐標系統正確畫線,又要適合用戶習慣的直觀感覺,因此在坐標之間要進行換算。

從如圖4-6所示的坐標系統說明圖中可以看出,畫線是以o點為坐標原點,而用戶輸入并顯示又是以o′點為坐標原點。

例如,當用戶用鍵盤輸入折點坐標(20,135)時,折點a在網格區域中的位置及其與oo′點的相對坐標關系如圖4-6所示。

a點坐標相對于o′點為(20,135),這是用戶習慣坐標系統數值。

a點坐標相對于o點則為(30,83),這是屏幕坐標系統數值。

也就是說,用戶輸入的x坐標數值必須加上10才形成畫線時的折點x坐標,而用戶輸入的y坐標數值與218的差值才形成畫線時的折點y坐標。因此:

x=datapointx:=10+numentry=10+20=30

y=datapointy:=218-numentry=218-135=83

但實時顯示的坐標值仍還原為:

x={datapointx-10}={30-10}=20

y={218-datapointy}={218-83}=135

這樣便實現了既保證按屏幕坐標系統正確畫線又滿足了用戶可按照習慣的平面坐標系進行輸入和觀看。

及時點評  在繪圖和獲取坐標值時,屏幕坐標系統的定義是十分重要的,正確理解屏幕坐標系統概念,才能保證程序設計的正確。屏幕坐標與直觀坐標之間的換算是一個設計技巧,靈活運用該技巧可使程序運行更適應用戶要求,從而達到令人滿意的效果。

4.3  小結

該例應用line函數,根據用戶輸入的坐標值或鼠標單擊點的坐標值為折點,畫一條折線。其中主要應用了如下的一些概念、原理和技術:

l         系統坐標概念

l         鍵盤輸入與鼠標單擊取得折點坐標值的設計

l         用line函數畫折線

l         屏幕坐標與直觀坐標之間的換算技巧

l         實時顯示設計

l         條件交互響應的應用

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久久久久久亚洲精品 | 黄色aaa视频| 一区国产视频 | 欧美一级特黄aaaaaaa什 | 久啪视频| 国产精品av久久久久久久久久 | 四虎久草 | 国产精品www | 久久sp| 欧美一级黄色录相 | 黄色特级一级片 | 久久综合婷婷 | 欧美 国产 综合 | 国产激情视频在线 | 国产妞干网 | 九九热精品视频在线播放 | 毛片免费视频播放 | 成人毛片视频在线观看 | 亚洲成人精品久久久 | 成人三区四区 | 中文字幕激情视频 | 精品一区二区免费 | 欧美成年私人网站 | 国产精品99免费视频 | 久久午夜免费视频 | 99国内精品视频 | 失禁高潮抽搐喷水h | 羞羞的网址 | 免费黄色小网站 | 国产视频在线一区 | 国产精品久久久久久影院8一贰佰 | 羞羞答答影院 | 成人爱爱电影 | 91性视频 | 久草在线资源福利站 | 成人精品一区二区 | 色柚视频网站ww色 | 毛片成人 | 免费看成人毛片 | 密室逃脱第一季免费观看完整在线 | 日本欧美一区二区 |