背景分析
《時分的認識》是國標蘇教版小學數學二年級的教學內容。本學習內容主要是讓學生在觀察鐘面的過程中認識常見的時間單位時和分,知道它們之間的關系并初步建立時、分的時間觀念。由于時間是一個很抽象的概念,學生難以理解,因此教學時應充分借助直觀的教學手段。以往教師在教學這一內容時,往往借助掛圖,但由于靜止的畫面難以動態地展示時、分之間的關系,因此,在認讀具體的時刻方面顯得捉襟見肘。也有的教師讓學生在課前每人準備一個小時鐘,但這又不經濟,而且受教室可視角度的影響,效果也不甚理想。電子化教具的使用,可以使原來抽象的概念具體化、生動化,增強學生的直觀認識,使學生學得輕松、學得有趣,所以,我們特別制作了《時分的認識》小教具。其下載網址為:http://www.jthyxx.com/Soft/ShowSoft.asp?SoftID=17。
功能與特色
時和分是本節課的兩個核心概念。一般的多媒體課件,并沒有把時針、分針的轉動單列開來,更沒有顯示運動軌跡的功能,本電子教具克服了以上不足,更貼近教學實際。為了把時、分與鐘面上具體的刻度對應起來,教學時可分為兩個步驟。第一步,分別認識“時”和“分”。敲擊鍵盤上的“↑”,學生可以清晰地看到分針順時針地走1小格,時間過去1分鐘,相反,敲擊“↓”鍵,分針將逆時針轉動,從而體會到分針走幾格就是幾分鐘。如果按住“↑”或“↓”鍵不放,就可以看到分針不停地旋轉。相同地,左、右方向鍵分別用來控制時針的逆時針和順時針旋轉。在時針和分針轉動的過程中,學生不僅可以發現時針走一大格是1小時,還能夠體會出“1時=60分”的內在聯系。比起單純地講解,這樣的發現更有價值。第二步,認讀時刻?!皻w零”按鈕可以讓時針和分針回到初始狀態?!皃age up”或“page down”鍵(電子教具里簡記為“pgup”和“pgdn”)可以讓時針和分針同時轉動。在學生讀出了某一具體時刻后,教師可以單擊“時刻”按鈕,讓系統自動顯示出正確的結果,對學生的認讀作出及時反饋。不僅如此,為了讓學生更能清晰地觀察,我們還特別運用函數,設置了軌跡跟蹤功能。如果想要看到分針轉動的軌跡,可以點擊界面中的“分針”按鈕,使該按鈕前顯示“有”。同樣,“時針”按鈕用來控制是否顯示時針的轉動軌跡。不足的是,由于表盤是手工繪制的,不夠精準,個別情況下,函數生成的軌跡與刻度不能完全對應。希望大家在制作表盤時一定要認真、仔細,以減少誤差。
設計思路與實現
要讓時針和分針按要求轉起來,實現人機交互的效果,可以借助Flash強大的控制功能。Flash中,控制元件的方法不外乎三種:按鈕控制、鼠標拖動控制和鍵盤控制。鼠標拖動控制在《量角度》一文(詳見本刊2008年第2期)中已經進行了詳細介紹,這里不再贅述。按鈕控制雖然簡單,但功能比較單一,再加上本節課中時針和分針的旋轉方向既有順時針,又有逆時針,交互功能比較復雜,所以,最終采用鍵盤控制。
傳統的實物學具,時針分針是完全分開的,學生操作時先撥時針,再撥分針。如果電子教具也搞成這樣,就失去了它的優越性,因此,我們要盡可能地還原真實。事實上,時針和分針的轉動是有聯系的。時針與分針轉動的角度是1∶12的關系,它們之間有三種關系:①時針轉一大格(5*6度)時,分針轉360度;②分針轉一小格(6度)時,時針轉6/12度;③時針轉一小格(6度)時,分針轉6*12度。

理清了思路,就可以動手制作了。
1.時針分針互動
(1)先來制作鐘面,新建影片剪輯元件,名字直接使用默認的“元件1”,使屏幕的中心點處在鐘面的中心(如圖1),這點就是時針和分針的旋轉點。
(2)再來做一根分針。新建影片剪輯“元件2”,在屏幕中畫一根分針(如圖2)。調整分針的位置,使屏幕的中心點處在分針的尾部,這個中心點就是分針的旋轉點,如果設置不準確,將直接影響分針轉動的精確度。時針的做法跟分針相同,只是要改變它的顏色與長度。
(3)切換到場景視圖,先把鐘面拖入場景,再將分針和時針也拖入到場景中,實例名分別為a和ba,使用對齊工具把時針、分針與鐘面的中心點對齊,這樣鐘面就基本完成了。
(4)當準備工作完成后,就可以開始讓時針、分針動起來了。針對上面提到的時針和分針之間的三種關系,我們設想用左右鍵來控制時針轉一大格,上下鍵來控制分針轉一小格。另外,再設置用page up、page down兩個鍵實現指針的快速轉動,這樣既可以節省轉動的時間,又可以得到非整時的時刻。
選中時針ba,打開動作面板,輸入語句:
onClipEvent (enterFrame) {
if (Key.isDown(Key.RIGHT)) {
this._rotation += 30;
}
if (Key.isDown(Key.LEFT)) {
this._rotation -= 30;
}
if (Key.isDown(Key.PGUP)) {
this._rotation += 6;
_root.a._rotation += 72;
}
if (Key.isDown(Key.PGDN)) {
this._rotation -= 6;
_root.a._rotation -= 72;
}
}
同理,分針a的動作語句為:
onClipEvent (enterFrame) {
if (Key.isDown(Key.UP)) {
this._rotation += 6;
_root.ba._rotation += 0.5;
}
if (Key.isDown(Key.DOWN)) {
this._rotation -= 6;
_root.ba._rotation -= 0.5;
}
}
2.顯示時間
(1)制作一個時刻按鈕。
(2)如圖3,將時刻按鈕拖入場景中,再使用文本工具畫兩個文本框,屬性都為動態文本。左邊文本框用來顯示小時數,命名為tom1,右邊文本框顯示分數,命名為tom2。
(3)為了能在單擊“時刻”按鈕時,將當前時刻顯示在文本框中,就需要將時針、分針的旋轉度數轉換成時刻。
選中“時刻”按鈕,在動作面板中輸入:
on (release) {
var tuu = _root.ba._rotation;
var txx = _root.a._rotation;
_root.tom1.text = int(tuu/30);
if (tuu<0) {_root.tom1.text = int((360
+tuu)/30);
}
_root.tom2.text =“0”+
int(txx/6);
if (txx<0) {
_root.tom2.text =“0”+int((360+txx)/6);
}
}
舉一反三
通過鍵盤控制元件的方式是游戲設計時常用的方法,我們不僅能用它來控制元件的旋轉,也可以控制元件上下左右的移動。只要改變rotation旋轉函數,