tft每日頭條

 > 生活

 > 按鍵精靈怎麼設置兩個字幕

按鍵精靈怎麼設置兩個字幕

生活 更新时间:2024-11-19 15:18:56

大家好,我是郭立員~

今天來做一個模拟手持彈幕效果的腳本,所謂手持彈幕就是手機屏幕上的滾動文字,如下圖:

按鍵精靈怎麼設置兩個字幕(按鍵精靈模拟手持彈幕)1

先來看看我做的模拟效果,然後再給大家講怎麼做的。

按鍵精靈怎麼設置兩個字幕(按鍵精靈模拟手持彈幕)2

下面開始這一期腳本教程的講解:

在按鍵中能夠在屏幕上顯示文字,主要有showmessage命令和懸浮窗命令,考慮到屏幕純黑色,我們選擇懸浮窗命令。

整個腳本的制作邏輯是這樣的:

【1】模拟屏幕純黑色背景,設置懸浮窗背景為黑色

【2】懸浮窗的大小要和屏幕一樣,所以要獲取屏幕的大小尺寸:

Dim x=GetScreenX() Dim y=GetScreenY() FW.NewFWindow "懸浮窗1", 0, 0, x, y FW.SetBackColor("懸浮窗1", "000000") FW.Show ("懸浮窗1")

【3】設置要顯示的文字及文字顔色大小

FW.AddTextView("懸浮窗1","文字","文字内容",x,500,width x,500) FW.SetTextColor "文字", "ffffff" FW.SetTextSize("文字",40)

【4】文字的起始位置,文字的滾動距離

這一步很關鍵,在觀察别人做的手持彈幕後,發現彈幕是從屏幕右側進入,向左滾動直到全部消失,然後重新從屏幕右側進入,循環往複。

那麼起始位置就是屏幕的右側,也就是一個屏幕的寬度x,在有一個問題是文字的滾動距離。

按鍵精靈怎麼設置兩個字幕(按鍵精靈模拟手持彈幕)3

通過圖片可以看到,需要滾動距離是文字寬度和屏幕寬度之和。

屏幕寬度是x

文字寬度需要通過計算,先要知道單個文字的寬度,在乘以文字的數量。

Dim text="要顯示的文字内容" Dim zi=60 //單個字的寬度,和文字大小有關系 Dim width=utf8.len(text)*zi

【5】怎麼讓文字滾動起來

循環修改文字的左側的位置坐标

假設100毫秒滾動一次,每次滾動20像素,那麼單位速度就是20,整個滑動需要的單位數量就是(文字寬度 屏幕寬度)/單位速度,用計次循環執行整個操作,如下所示:

Dim speed=20 For i = 0 To int((width x)/speed) FW.SetLeft "文字", x - speed * i Delay 100 Next

【6】讓文字重複循環

每次整段文字滑出屏幕後,讓文字的位置重新回到屏幕的右側

FW.SetLeft "文字", x

完整代碼如下:

Dim x=GetScreenX() Dim y=GetScreenY() Dim text="永恒榮耀,不滅星辰" Dim zi=60 Dim width=utf8.len(text)*zi Dim speed=20 FW.NewFWindow "懸浮窗1", 0, 0, x, y FW.SetBackColor("懸浮窗1", "000000") FW.AddTextView("懸浮窗1","文字",text,x,500,width x,500) FW.SetTextColor "文字", "ffffff" FW.SetTextSize("文字",40) FW.Show ("懸浮窗1") For 5 FW.SetLeft "文字", x For i = 0 To int((width x)/speed) FW.SetLeft "文字", x - 20 * i Delay 100 TracePrint x - 20 * i Next Next

補充說明:

測試設備:雷電模拟器

代碼涉及到的一些可修改的參數,我都在最開始用變量定義了,包括文字内容,滾動速度等,這些都可以用界面輸入框控制。

目前沒找到自動旋轉屏幕的命令,測試是豎屏顯示的滾動,效果不太好,如果你知道此命令可以在文章留言區給我留言,當然我也會去搜索查找。

=正文完=

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved