国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Flash ActionScript 的漢字書寫軟件的設(shè)計(jì)與實(shí)現(xiàn)

2015-12-10 12:19劉悅
電腦知識與技術(shù) 2015年26期
關(guān)鍵詞:田字格倒計(jì)時按鈕

劉悅

摘要:在計(jì)算機(jī)普及的今天,越來越多的年輕人習(xí)慣使用計(jì)算機(jī)鍵盤來書寫文字,“提筆忘字”的現(xiàn)象越來越多,中國漢字的發(fā)展逐漸向“沙漠化”、粗糙化的趨勢發(fā)展。央視舉辦的《中國漢字聽寫大會》經(jīng)播出后獲得了廣泛的好評,在全國各地掀起了關(guān)于中國漢字的學(xué)習(xí)熱潮,筆者結(jié)合工作實(shí)際采用Flash軟件及ActionScript語言設(shè)計(jì)了一款漢字書寫軟件。

關(guān)鍵詞:Flash;ActionScript;漢字書寫

中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2015)26-0080-03

Design and Realization of Chinese character writing software Based on Flash ActionScript

LIU Yue

(Tianjin Technical School of Printing and Decorating, Tianjin 300111, China)

Abstract: Today with widespread using of computers, more and more young people accustomed to using the keyboard to write Chinese characters, "pick up a pen forget the word" phenomenon more and more happens, there is a growing development of Chinese characters "desertification", roughening trend. CCTV's "Chinese Character Spelling Congress" once broadcast received wide acclaim in the country set off a culture of learning Chinese characters on the boom, the author combines practical work using Flash software and ActionScript language has designed a Chinese character writing software.

Key words: Flash; ActionScript; Chinese character writing

1 概述

在計(jì)算機(jī)普及的今天,越來越多的年輕人習(xí)慣使用計(jì)算機(jī)鍵盤來書寫文字,“提筆忘字”的現(xiàn)象越來越多,中國漢字的發(fā)展逐漸向“沙漠化”、粗糙化的趨勢發(fā)展。央視舉辦的《中國漢字聽寫大會》經(jīng)播出后獲得了廣泛的好評,在全國各地掀起了關(guān)于中國漢字的學(xué)習(xí)熱潮。

舉辦此類比賽首先要解決比賽軟件的問題。很多學(xué)校大都使用iPad作為比賽工具,通過投影儀把書寫內(nèi)容顯示到大屏幕上,這樣做比較簡單方便,但是也存在一些問題,如沒有計(jì)時功能,時間上還需要人工控制;修改功能單一,修改時間較長,影響答題者的書寫速度;界面比較單板,缺乏美觀性等。針對上述情況,筆者結(jié)合工作實(shí)際采用Flash軟件及ActionScript語言設(shè)計(jì)了一款漢字書寫軟件。

Flash動畫制作軟件具有交互性強(qiáng)、圖像質(zhì)量高、兼容性好、容量小等優(yōu)點(diǎn),被業(yè)界普遍接受。ActionScript(簡稱AS)語言采用面向?qū)ο蟮某绦蛟O(shè)計(jì)思想,是以場景中的按鈕、關(guān)鍵幀及影片剪輯等組件作為對象,使用AS語言進(jìn)行編寫和定義。在Flash中運(yùn)用AS腳本語言,不但能根據(jù)用戶的要求動態(tài)地控制動畫的各種行為,還可以讓其作出反應(yīng)從而實(shí)現(xiàn)動畫的交互功能。

2 漢字書寫軟件介紹

2.1 功能描述

使用者可以在“田字格”內(nèi)進(jìn)行隨意書寫,也可以根據(jù)需要進(jìn)行涂改、撤銷或恢復(fù)操作,還可全部清除格內(nèi)的所有內(nèi)容,書寫完畢可以點(diǎn)擊進(jìn)行提交,軟件設(shè)有倒計(jì)時功能,超過一定時間,停止書寫功能,自動提交答案。軟件功能結(jié)構(gòu)如圖1所示。

圖1 軟件功能示意圖

2.2 界面設(shè)計(jì)

圖2 軟件界面

在軟件的界面設(shè)計(jì)方面本著美觀大方、簡單易用的原則,基本參照了央視漢字聽寫大會軟件界面的布局,并加以適當(dāng)改動。軟件界面如圖2所示。

3 實(shí)現(xiàn)方法

3.1 界面制作

軟件背景采用Photoshop合成制作,為了使書寫界面更加清晰美觀,田字格部分采用不易失真的矢量圖軟件Illustrator制作。制作過程如圖3、圖4所示。

圖3 底圖制作

圖4 田字格制作

3.2 場景及庫元件說明

所采用的Flash制作軟件版本為CS5.5,在設(shè)計(jì)實(shí)現(xiàn)階段,根據(jù)功能劃分將各元素分布在不同圖層中,該軟件整個場景共分為三個圖層,每層一幀,包括按鈕層、進(jìn)度條層、背景層,如圖5所示。按鈕層包括部分功能按鈕如:提交按鈕、提交后的確定、取消按鈕,其他按鈕如書寫、修改等按鈕,在場景所在的Main.as類文件中調(diào)用。進(jìn)度條層主要放置比賽倒計(jì)時元件。

部分庫元件功能如下:

影片剪輯ToolPanel中內(nèi)置了書寫、橡皮、撤銷、清除工具按鈕。軟件初始默認(rèn)工具為書寫,此時可以在田字格內(nèi)進(jìn)行書寫;點(diǎn)擊“橡皮”按鈕可對所寫內(nèi)容進(jìn)行修改;點(diǎn)擊“撤銷”按鈕可以取消前面若干步書寫操作,單擊一次取消一筆;點(diǎn)擊“清除”按鈕可以清除田字格內(nèi)所有內(nèi)容。

影片剪輯sure_cancel放置了提交按鈕,以及提交后的確定和取消按鈕。點(diǎn)擊提交按鈕,顯示確定和取消按鈕,單擊“確定”提交答案,單擊“取消”繼續(xù)答題,同時確定和取消按鈕隱藏。

影片剪輯countdown里設(shè)計(jì)了一個倒計(jì)時條,用于顯示剩余答題時間。倒計(jì)時條隨著時間進(jìn)行逐漸向左縮短,在剩余10秒時會有倒計(jì)時聲音提示,時間到時會有結(jié)束鐘聲響起,同時在計(jì)時條上方顯示“時間到”,提示答題結(jié)束。

圖5 軟件flash制作場景

3.3 腳本設(shè)計(jì)及實(shí)現(xiàn)

該軟件的編程部分采用ActionScript3.0編寫,分別定義了幾個包,如圖6所示。Main為主類, ToolPanel類和Canvas類內(nèi)置于主類,ToolPanel用來設(shè)置并顯示工具箱,Canvas用來實(shí)現(xiàn)書寫。Canvas具有g(shù)raphID屬性,用來確定當(dāng)前繪制的是什么圖形,比如說id為0時,畫線條,id為1時,為橡皮工具,這些id都被定義成了ToolPanel的靜態(tài)屬性,方便訪問;graph包里放了各種可以繪制的圖形。

圖6 軟件文件組成

因篇幅所限,只列舉部分代碼,具體如下:

1)書寫感應(yīng)區(qū)

相當(dāng)于一個繪圖板,其設(shè)置放在Canvas.as文件中,部分代碼如下:

public function Canvas(w:Number, h:Number, stage:Stage)

{

this.w = w;

this.h = h;

//繪制背景

this.graphics.lineStyle(0, 0xffffff);

this.graphics.drawRoundRect(0, 0, w, h, 8, 8);

this.addEventListener(MouseEvent.MOUSE_DOWN, startDraw);

stage.addEventListener(MouseEvent.MOUSE_UP, stopDraw);

allCanvas = new Sprite();

addChild(allCanvas);

//初始化backCanvas

backCanvas = new Sprite();

backCanvasBitmapData = new BitmapData(w, h, true, 0);

backCanvasBitmap = new Bitmap(backCanvasBitmapData);

backCanvas.addChild(backCanvasBitmap);

allCanvas.addChild(backCanvas);

//設(shè)置遮罩,將畫在畫布外的東西隱藏起來

var maskSprite:Shape = new Shape();

maskSprite.graphics.beginFill(0);

maskSprite.graphics.drawRoundRect(1, 1, w-4, h-4, 8, 8);

maskSprite.graphics.endFill();

allCanvas.addChild(maskSprite);

canvas = new Sprite();

allCanvas.addChild(canvas);

canvas.mask = maskSprite; }

2)提交按鈕的實(shí)現(xiàn)

sureBtn.visible = false;

cancelBtn.visible = false;

submitBtn.addEventListener(MouseEvent.CLICK,fl_MouseClickHandler_2);

function fl_MouseClickHandler_2(event:MouseEvent):void

{

sureBtn.visible = true;

cancelBtn.visible = true;

}

cancelBtn.addEventListener(MouseEvent.CLICK, fl_ClickToHide);

function fl_ClickToHide(event:MouseEvent):void

{

sureBtn.visible = false;

cancelBtn.visible = false;

}

3)書寫筆畫的設(shè)計(jì)

筆畫線寬的代碼編寫在graph文件夾中的Line.as文件中,具體如下:

public class Line extends GraphBase

{ public function Line(c:uint = 0)

{ super(c); }

override public function begin(xx:Number, yy:Number):void

{ this.graphics.lineStyle(10, color);

this.graphics.moveTo(xx, yy); }

override public function draw(xx:Number, yy:Number):void

{ this.graphics.lineTo(xx, yy); }

}

4 測試發(fā)布

考慮到?jīng)]有安裝Flash Player插件的電腦不能執(zhí)行.swf文件,利用Flash的導(dǎo)出功能生成一個可執(zhí)行的.exe文件,能運(yùn)行于所有的Window平臺,無需安裝,直接運(yùn)行。該軟件可配合投影儀、手寫板等硬件設(shè)備,利用現(xiàn)有資源,以最少投入搭建經(jīng)濟(jì)實(shí)用比賽系統(tǒng)。

5 結(jié)束語

在美國有從1925年延續(xù)至今的英語全國拼字比賽《National Spelling Bee》,成為全民關(guān)注的帶有國家精神、民族性質(zhì)的活動。我們漢字幾千年的文化積淀極其深厚的文化底蘊(yùn),使中華民族成為世界上最具智慧的民族,它是我們傳統(tǒng)文化的一種獨(dú)特象征。作為中國人,我們更應(yīng)該把漢字的美傳承下去,通過書寫把文明傳遞,實(shí)現(xiàn)民族的未雨綢繆。

參考文獻(xiàn):

[1] 朱治國,繆亮,陳艷麗.Flash ActionScript 3.0 編程技術(shù)教程[M].北京:清華大學(xué)出版社,2008:120-130.

[2] 胡孔法.精通Flash MX 2004動畫與Actionscript編程[M].北京:清華大學(xué)出版社,2004:80-89.

[3] 陳紀(jì)霞.基于Flash 的繪圖板的設(shè)計(jì)與實(shí)現(xiàn)[J].重慶科技學(xué)院學(xué)報(bào),2013(6):137-139.

猜你喜歡
田字格倒計(jì)時按鈕
當(dāng)你面前有個按鈕
“田字格”器材的制作和運(yùn)用
住在“田”間(二)
合理使用田字格在低年級寫字教學(xué)中實(shí)踐探究
死循環(huán)
內(nèi)心不能碰的按鈕
添筆畫等
汕尾市| 竹山县| 绿春县| 江津市| 河南省| 嫩江县| 夏河县| 始兴县| 望都县| 巩义市| 合山市| 环江| 桂东县| 仁寿县| 灵台县| 三江| 淅川县| 京山县| 宜阳县| 三穗县| 屯门区| 沁源县| 东乌| 永靖县| 龙州县| 蓬莱市| 铁力市| 军事| 临江市| 武安市| 徐闻县| 鲜城| 鹿邑县| 兰州市| 枞阳县| 曲靖市| 北辰区| 卢氏县| 扎囊县| 墨江| 武山县|