authorware5.0提供了motion運動圖標,它可以提供五種運動功能,但要實現像時針這類的旋轉移動,motion運動圖標則無能為力,這就要借助authorware的函數來實現這一類運動,下面以制作時鐘為例,這個例子中我們要用到以下幾個函數:
line(pensize, x1, y1, x2, y2):畫線函數,其中pensize是線的寬度,x1, y1線的起點坐標,x2, y2線的終點坐標。
rgb(r, g, b):顏色函數,r(紅色)、g(綠色)、b(藍色)取值范圍是0~255。
圖1 建立鐘表圖形
setfill(flag [,color]):設置填充顏色,flag為true填充,flag為 false不填充,color為rgb函數產生的顏色。
setframe(flag [, color]):設置邊框顏色,flag為 true填充,flag為false不填充,color為rgb函數產生的顏色。
setline(type):設置線條的形狀,type 可以取0、1、2、3。取0沒有箭頭,取1起始端有箭頭,取2結束端有箭頭,取3兩端都有箭頭。制作過程如下:
1、 拖曳一個顯示圖標到流程線上,命名為表盤,打開此圖標在其中繪制圖1的圖形。
2、 拖曳一個顯示圖標到流程線上,命名為系統時間,打開此圖標在其中用文本工具輸入{fulltime} ( fulltime是系統變量,記錄系統時間,格式為hh∶mm∶ss),將該圖標屬性中options中的update displayed variables項選中。
3、 拖曳一個計算圖標到流程線上,命名為設置參數。打開該圖標在里面輸入clockslice:=2*pi/60 (設置時間片)radius:=(displaywidth@"表盤"/2)-10 (設置時鐘半徑,displaywidth@"表盤"取得的值是表盤圖標的寬度)。
4、 拖曳一個決策判斷圖標到流程線上,命名為循環。在其屬性框的repeat框中選中until true在其下的值框中輸入0。
5、 拖曳一個群組圖標到循環圖標右邊(如圖2),打開群組圖標在其中建立如圖3所示的各圖標。
在繪制時針計算圖標中輸入以下內容:
setframe(1,rgb(0,0,255))
increment:=hour*clockslice*5
angle:=pi/2-increment
line(3,displayx@"表盤"-p*cos(angle),displayy@"表盤"+p*sin(pi/2+increment),(radius-sh-h)*cos(angle)
+displayx@"表盤",displayy@"表盤"-(radius-sh-h)*sin(angle))
注:hour是系統變量,用來記錄當前時間前面的時位是多少小時。
將1秒等待圖標屬性中所有復選框全部不選中,將time limit后面的輸入框中輸入1秒。
在繪制分針計算圖標中輸入以下內容:
setframe(true,rgb(0,255,200))
increment:=minute*clockslice
angle:=pi/2-increment
setline(0)
line(3,displayx@"表盤"-p*cos(angle),displayy@"表盤"+p*sin(angle),(radius-sh)*cos(angle)+
圖2 程序流程圖
displayx@"表盤",displayy@"表盤"-(radius-sh)*sin(angle))
setfill(true,rgb(0,255,0))
circle(2, displayx@"表盤"-2, displayy@"表盤"-2,displayx@"表盤"+2, displayy@"表盤"+2)
注:minute是系統變量,用來記錄當前時間中中間的分位是多少分。
在繪制秒針計算圖標中輸入以下內容:
[1] [2] 下一頁
新聞熱點
疑難解答