在Director中實現文字滾動 (轉)
在Director中實現文字滾動 (轉)[@more@]最近有不少的朋友問我有關在DR中如何實現文字滾動效果的問題,我只給了一些方法的提示,我本身認為這個問題是比較的簡單的,但是隨著問的多了,也就意識到這個問題涉及的問題還真不少(自己是小瞧了這個問題了),後來就想找個典型的範例來和朋友們共同討論這個問題,在網上無意的瀏覽時候發現了下面的這個行為,使我對這個問題的認識更深了一步(裡面還是有不少的技巧的),我從下面的裡面也得到了一種新的行為編寫思維方式,同時在其他方面也得到了應用。下面就是這個程式,我做了一些簡單的註釋:
property pMem
property pImage
property pScroll
property pWidth, pHeight
property pVisibleHeight
property pBackgroundColor
###定義這個行為的屬性設定###
on getPropertyDescriptionList me
list = [:]
addProp list, #pVisibleHeight, [#comment: "Visible Height", #format: #integer, #default: 100]
return list
end
on beginSprite me
n 獲得Text Member 的大小
pWidth = sprite (me.spriteNum).member.width
pHeight = sprite (me.spriteNum).member.height
n 獲得文字圖象的大小
pImage = duplicate (sprite (me.spriteNum).member.image)
pBackgroundColor = sprite (me.spriteNum).member.bgColor
n 建立一個新的點陣圖以供我們使用
pMem = new (#bitmap)
pMem.image = image (pWidth,pHeight,32)
pMem.regPoint = point (0,0)
sprite (me.spriteNum).member = pMem
n 實現圖象從低部向上滾動
pScroll = -pVisibleHeight
setImage (me)
end
on setImage me
n 利用Fill命令使圖象充滿背景色
pMem.image.fill (rect (0, 0, pWidth, pVisibleHeight), pBackgroundColor)
n 放置圖象到相應的位置上
pMem.image.copyPixels (pImage, rect (0 ,0, pWidth, pVisibleHeight), rect (0, pScroll, pWidth, pVisibleHeight + pScroll))
end
on exitFrame me
n 設定滾動的速度為一個象素
pScroll = pScroll + 1
n 如果滾動文字結束了,在這裡設計迴圈
if pScroll > pHeight then pScroll = -pVisibleHeight
setImage(me)
end
on endSprite me
erase pMem
end
??這個行為比我以前常用的方法是方便多了,先面我介紹一下這個行為的基本編寫思路,如果對Lingo很熟悉的朋友透過上面的程式就能夠看的出來了,我再說這些就現的羅嗦了。但我還是想說一下我的體會(真是不可救藥啊!)
這個行為的最大的特點就是節約了空間,只要一個RE就可以了。還有一個巧妙的用法就是用了FILL命令,這樣在移動文字圖象的時候擦除舊的圖象
property pMem
property pImage
property pScroll
property pWidth, pHeight
property pVisibleHeight
property pBackgroundColor
###定義這個行為的屬性設定###
on getPropertyDescriptionList me
list = [:]
addProp list, #pVisibleHeight, [#comment: "Visible Height", #format: #integer, #default: 100]
return list
end
on beginSprite me
n 獲得Text Member 的大小
pWidth = sprite (me.spriteNum).member.width
pHeight = sprite (me.spriteNum).member.height
n 獲得文字圖象的大小
pImage = duplicate (sprite (me.spriteNum).member.image)
pBackgroundColor = sprite (me.spriteNum).member.bgColor
n 建立一個新的點陣圖以供我們使用
pMem = new (#bitmap)
pMem.image = image (pWidth,pHeight,32)
pMem.regPoint = point (0,0)
sprite (me.spriteNum).member = pMem
n 實現圖象從低部向上滾動
pScroll = -pVisibleHeight
setImage (me)
end
on setImage me
n 利用Fill命令使圖象充滿背景色
pMem.image.fill (rect (0, 0, pWidth, pVisibleHeight), pBackgroundColor)
n 放置圖象到相應的位置上
pMem.image.copyPixels (pImage, rect (0 ,0, pWidth, pVisibleHeight), rect (0, pScroll, pWidth, pVisibleHeight + pScroll))
end
on exitFrame me
n 設定滾動的速度為一個象素
pScroll = pScroll + 1
n 如果滾動文字結束了,在這裡設計迴圈
if pScroll > pHeight then pScroll = -pVisibleHeight
setImage(me)
end
on endSprite me
erase pMem
end
??這個行為比我以前常用的方法是方便多了,先面我介紹一下這個行為的基本編寫思路,如果對Lingo很熟悉的朋友透過上面的程式就能夠看的出來了,我再說這些就現的羅嗦了。但我還是想說一下我的體會(真是不可救藥啊!)
這個行為的最大的特點就是節約了空間,只要一個RE就可以了。還有一個巧妙的用法就是用了FILL命令,這樣在移動文字圖象的時候擦除舊的圖象
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-990147/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 前端實現文字滾動效果前端
- JavaFx 實現水平滾動文字(跑馬燈效果)Java
- js實現的文字垂直滾動例項程式碼JS
- 直播app開發,在 Flutter 中使 Expanded 中的文字可滾動APPFlutter
- Delphi中TFlowPanel實現滾動條效果
- 文字向上滾動
- 直播軟體搭建,Android實現文字滾動播放效果Android
- js、jQuery實現文字上下無縫輪播、滾動效果JSjQuery
- 影像平滑滾動效果的VC實現 (轉)
- 安卓中如何實現無限滾動列表安卓
- Android開發之TextView文字水平滾動效果實現AndroidTextView
- vue文字滾動元件Vue元件
- 自定義滾動文字
- 在VC中實現程式在啟動時隱藏 (轉)
- js實現的單行文字不間斷無縫滾動效果JS
- 在SQL SERVER中實現事務的部分回滾SQLServer
- 在VB中實現窗體的動態效果 (轉)
- jQuery實現的但行文字具有時間間隔向上滾動效果jQuery
- 使用SendMessage函式滾動文字框控制元件中的內容 (轉)函式控制元件
- 報表中怎樣實現滾動的公告效果
- 請問 appium 中如何實現滾動截圖APP
- css實現滾動輪播CSS
- javascript實現圖片滾動JavaScript
- 使用 selenium (python),無法在頁面的 iframe 框架中實現對貌似是自定義滾動條進行滾動Python框架
- js和css3實現360旋轉滾動效果JSCSSS3
- 手持彈幕(全屏文字滾動)
- 文字垂直迴圈滾動效果
- css實現隱藏滾動條並可以滾動內容CSS
- 在vim中實現批次加密(轉)加密
- 用AutoLayout實現分頁滾動
- css實現隱藏滾動條CSS
- css實現視差滾動效果CSS
- 在CGI中實現session的想法和實現 (轉)Session
- 在VB6.0中實現動態統計報表 (轉)
- angular 監聽 Windows 滾動事件 實現頁面滾動載入AngularWindows事件
- tkinter中text文字與scroll滾動條控制元件(五)控制元件
- 表格轉文字如何實現-表格文字識別介面整合示例-快速提取表格中的文字
- css如何實現多行文字在div中垂直居中效果CSS