日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

Flash技巧:談動態(tài)滾動文本框制作方法_Flash教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:Flash技巧:倒播或正播控制
有網(wǎng)友問到:在FLASH中如何控制電影實例的正播放與倒播放?解決這個問題的方法有多個,前次在論壇上發(fā)了兩個,今天有空又做了一個實例。1、先做一個電影動畫元

再看代碼之前,請先看看下面的說明,這會對理解代碼有很大的幫助:
http://www.huoshan.org/shiyan/gundongtiao/gundongtiao.htm

下面是滾動條中所有的代碼:
//%%%%%%%%%%%%%%%%接口變量%%%%%%%%%%%%//
//接收父剪輯文本域名字
var wenben_txt = _parent.wenben_txt;
//---------滾動初始化---------//
//此變量是滑塊的初始高度,現(xiàn)在設置為最高,也就占滿上、下按鈕之間的空間
//此變量將在外部文本載入完成,滾動條高度設定的時候得到應用(第32行)
var chushigaodu = Math.floor(xia_btn._y-shang_btn._y-shang_btn._height);
//初始化滑塊Y坐標,并記錄
var ychushiweizhi = huakuai_mc._y=Math.round(shang_btn._y shang_btn._height);
//小滑塊不可見,上下按鈕不可用
huakuai_mc._visible = false;
shang_btn.enabled = false;
xia_btn.enabled = false;
//%%%%%%%%%%%%%%%%滾動代碼%%%%%%%%%%%%%%%%%%//
//////////為父剪輯的文字域注冊偵聽器,以偵聽在文字域產(chǎn)生變化時,也就是在文本被載入進來時,執(zhí)行下面的代碼。這樣就不用擔心代碼執(zhí)行順序問題!
var zhentingqi = new Object();
wenben_txt.addListener(zhentingqi);
//當文字域載入完成時,為什么觸發(fā)onScroller事件,而不是onChange事件?
zhentingqi.onScroller = function() {
trace("----------------------");
//在_root中的動態(tài)文本框中,顯示總行數(shù)和當前行
_parent.zonghangshu_var = "總行數(shù):" wenben_txt.maxscroll;
_parent.dangqianhang_var = "當前行:" wenben_txt.scroll;
//判定滑塊兒是否顯示,并根據(jù)文本內(nèi)容多少定義滑塊高度
if (wenben_txt.maxscroll != 1) {
//小滑塊可見,上下按鈕可用
huakuai_mc._visible = true;
shang_btn.enabled = true;
xia_btn.enabled = true;
//定義一個高度因子,此因子隨加載文本的增多,將無限趨向于1。
var gaoduyinzi = 1-(wenben_txt.maxscroll-2)/wenben_txt.maxscroll;
//根據(jù)高度因子初始化滑塊的高度
huakuai_mc._height = Math.floor(chushigaodu*Math.pow(gaoduyinzi, 1/5));
//記錄外部文本載入完成后,滑塊的高度
trace("滑塊高=" huakuai_mc._height);
}
//滑塊滾動的總象素數(shù)
var zongxiangsu = xia_btn._y-shang_btn._y-shang_btn._height-huakuai_mc._height;
//定義平均象素,每一行所包含的像素數(shù),即文本域每滾動一行,滑塊需要移動的象素數(shù)。
var pingjunxiangsu = zongxiangsu/(wenben_txt.maxscroll-1);
//定義平均行數(shù),每一像素包含的行數(shù),即滑塊每移動一象素,文本域在理論上應當滾動的行數(shù)(盡管非整數(shù)行在視覺上沒有反映)。
var pingjunhangshu = (wenben_txt.maxscroll-1)/Math.floor(zongxiangsu);
//記錄“滾動總像素”、“平均像素”和“平均行數(shù)”
trace("滾動總象素=" zongxiangsu);
trace("平均象素值=" pingjunxiangsu);
trace("平均行數(shù)值=" pingjunhangshu);
//——————定義上按鈕
shang_btn.onPress = function() {
//記錄按下按鈕的時間點
anxiashijian = getTimer();
wenben_txt.scroll--;
// 使滑塊兒移動到相應的位置。
huakuai_mc._y = ychushiweizhi pingjunxiangsu*(wenben_txt.scroll-1);
//當按下按鈕一定時間后,自動滾動文本
onEnterFrame = function () {
if (getTimer()-anxiashijian>500) {
wenben_txt.scroll--;
//使滑塊兒移動到相應的位置。
//文本框現(xiàn)在的scroll值減1,然后乘以“平均像素”,得到它應該滾動的像素,然后再加上初始位置的Y坐標,就得到現(xiàn)在的應該滾動到的Y坐標
huakuai_mc._y = ychushiweizhi pingjunxiangsu*(wenben_txt.scroll-1);
//跟蹤滑塊的Y坐標
trace("[滑塊Y坐標]=" huakuai_mc._y);
}
};
};
shang_btn.onRelease = function() {
delete onEnterFrame;
delete anxiashijian;
};
//——————定義下按鈕(原理與上按鈕一樣)
xia_btn.onPress = function() {
anxiashijian = getTimer();
wenben_txt.scroll ;
huakuai_mc._y = ychushiweizhi pingjunxiangsu*(wenben_txt.scroll-1);
onEnterFrame = function () {
if (getTimer()-anxiashijian>500) {
wenben_txt.scroll ;
huakuai_mc._y = ychushiweizhi pingjunxiangsu*(wenben_txt.scroll-1);
trace("[滑塊Y坐標]=" huakuai_mc._y);
}
};
};
xia_btn.onRelease = function() {
delete onEnterFrame;
delete anxiashijian;
};
//——————滑塊MC事件處理,當鼠標按下時
huakuai_mc.onPress = function() {
//開始拖動
this.startDrag(false, this._x, ychushiweizhi, this._x, xia_btn._y-huakuai_mc._height);
//使文本隨滑塊滾動
this.onEnterFrame = function() {
//在滾動過程中即時獲得“滑塊所處位置”
var xianzaiweizhi = Math.floor(this._y);
trace("現(xiàn)在位置=" xianzaiweizhi);
//先求出滑塊現(xiàn)在Y坐標與其在最開始初始化時Y坐標的像素差值,然后用這個差值乘“每一象素所包含的行數(shù)”,就可以得到文本現(xiàn)在應該滾動到的行數(shù)了
//這里為什么要加1,可見scroll屬性值應該是取正的,也就是說它會刪除小數(shù)部分,而非采用四舍五入制?
wenben_txt.scroll = (xianzaiweizhi-ychushiweizhi)*pingjunhangshu 1;
//跟蹤滾動的當前行
trace("[scroll值]=" Math.floor((xianzaiweizhi-ychushiweizhi)*pingjunhangshu 1));
//記錄當在滑塊上按鈕下鼠標時,滑塊的初始位置
trace("初始位置=" ychushiweizhi);
//跟蹤滑塊的現(xiàn)在位置
trace("[現(xiàn)在位置]=" xianzaiweizhi);
};
};
//滑塊MC事件處理,鼠標移出或釋放時
huakuai_mc.onRollOut = huakuai_mc.onMouseUp=function () {
// “滑塊”停止拖動
this.stopDrag();
// 停止文本隨滑塊滾動事件
delete this.onEnterFrame;
};
//——————換用MOUSE對象的onMouseWheel方法結(jié)合偵聽器實現(xiàn)滑塊隨鼠標滾球滾動
mouseListener = new Object();
Mouse.addListener(mouseListener);
mouseListener.onMouseWheel = function(delta) {
delta = 1;
huakuai_mc._y = ychushiweizhi pingjunxiangsu*(wenben_txt.scroll-1);
};
};

這里是源文件:http://www.huoshan.org/shiyan/gundongtiao/gundongtiao.rar

小編物語:國際慣例——感謝火山的努力和付出。火山的BLOG可是他自己用FLASH開發(fā)的,有點意思哦。不過網(wǎng)頁設計就……恩,看來火山在繼續(xù)深入FLASH開發(fā)的同時,也有必要提高FLASH設計的修為啊。

分享:Flash動畫—單擺的制作教程
想起當初作這個動畫時,真是不知如何下手,所以,這是一篇獻給初學者的教程的單擺動畫的制作,應該要解決兩個方面的問題:一、單擺本身的制作,這一點只要用好

/所屬分類:Flash教程/更新時間:2008-03-05
相關Flash教程