QB实现Matrix字幕

原创 2006年06月06日 00:23:00

那段时间因为《Matrix》的火热,所以都流行用程序做出那种字幕效果。

我就用QB做了个,02年做的。

Matrix

CONST MatrixTextStreamLength% = 15  'REM 0<It<MaxColor

CONST LowestSpeed! = .3             'REM The lowest speed

CONST TextStreamCount% = 20         'REM Count of text streams



TYPE MatrixTextStreamType

    X AS INTEGER

    Y AS SINGLE

    Speed AS SINGLE

    Text AS STRING * MatrixTextStreamLength

END TYPE



CONST ScreenMode% = 12              'REM G:640*480*16, T:80*30

CONST ScreenTextWidth% = 80

CONST ScreenTextHeight% = 30

CONST FALSE% = 0

CONST TRUE% = NOT FALSE



DECLARE FUNCTION UpdateTextStream% (TextStream AS MatrixTextStreamType)

DECLARE SUB DisplayTextStream (TextStream AS MatrixTextStreamType)

DECLARE SUB GenerateTextStream (TextStream AS MatrixTextStreamType)

DECLARE SUB ChangeText (TextStream AS MatrixTextStreamType)

DECLARE SUB GenerateMatrixPalette ()



DIM MatrixTextStream(TextStreamCount) AS MatrixTextStreamType



SCREEN ScreenMode

CLS



DIM Count AS INTEGER



FOR Count = 1 TO TextStreamCount

    GenerateTextStream MatrixTextStream(Count)

NEXT



GenerateMatrixPalette



WHILE INKEY$ <> CHR$(27)

    FOR Count = 1 TO TextStreamCount

        DisplayTextStream MatrixTextStream(Count)

        IF UpdateTextStream(MatrixTextStream(Count)) THEN

            GenerateTextStream MatrixTextStream(Count)

        END IF

    NEXT

WEND



END



SUB ChangeText (TextStream AS MatrixTextStreamType)



    DIM Count AS INTEGER

    DIM TempText AS STRING



    RANDOMIZE TIMER

    FOR Count = 1 TO MatrixTextStreamLength - 1

        TempText = TempText + CHR$(RND * 222 + 33)

    NEXT



    TextStream.Text = " " + TempText



END SUB



SUB DisplayTextStream (TextStream AS MatrixTextStreamType)



    DIM Count AS INTEGER

    DIM CharX AS INTEGER, CharY AS SINGLE



    FOR Count = 1 TO MatrixTextStreamLength



        CharX = TextStream.X

        CharY = TextStream.Y + Count



        IF CharY < ScreenTextHeight + 1 AND CharY > 1 THEN

            IF CharX <= ScreenTextWidth AND CharX > 0 THEN

                LOCATE INT(CharY), CharX

                COLOR (MatrixTextStreamLength - Count + 1)

                PRINT MID$(TextStream.Text, Count, 1);

            END IF

        END IF



    NEXT



END SUB



SUB GenerateMatrixPalette

    DIM Count AS INTEGER

    DIM Red AS INTEGER, Green AS INTEGER, Blue AS INTEGER



    FOR Count = 1 TO MatrixTextStreamLength

        Red = 0

        Green = 63 - (Count - 1) * (64 / MatrixTextStreamLength)

        Blue = 43 - (Count - 1) * (44 / MatrixTextStreamLength)

        PALETTE Count, Red + Green * 256 + Blue * 65536

    NEXT



END SUB



SUB GenerateTextStream (TextStream AS MatrixTextStreamType)

    

    RANDOMIZE TIMER

    TextStream.X = INT(RND * ScreenTextWidth) + 1

    TextStream.Y = -RND * MatrixTextStreamLength

    TextStream.Speed = RND + LowestSpeed

    ChangeText TextStream



END SUB



FUNCTION UpdateTextStream% (TextStream AS MatrixTextStreamType)



    TextStream.Y = TextStream.Y + TextStream.Speed

    ChangeText TextStream

    IF TextStream.Y > ScreenTextHeight + 1 THEN

        UpdateTextStream = TRUE

        EXIT FUNCTION

    END IF

    UpdateTextStream = FALSE



END FUNCTION
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

cocos2dx cocos2dx 3.x 公告栏 通知栏 滚动字幕 区域弹幕 区域显示 实现

http://www.jianshu.com/p/ca0c6920e1b1 本文介绍游戏中常见的滚动播放的公告栏实现 要点 文字内容横向或者纵向滚动文字只在区域内显示,超出区域部分不显示 相关头文...

iOS中UILabel滚动字幕动画的实现

iOS中UILabel滚动字幕动画的实现   By uniEagle | 2012 年 8 月 29 日 - 16:50 | Develop, iOS 有时候会遇到UILabel中的内...

多线程实现Galgame的字幕显示

演示程序的下载地址:http://download.csdn.net/detail/jiangcaiyang123/4106252 最近在制作一个Galgame的骨架。其实Galgame是技术含量最...

Android实现字幕滚动程序并优化

Android实现字幕滚动,不使用内置的属性,而是重新定义一个类继承自AppCompatTextView来实现,可以控制文字滚动速度且让其匀速滚动,然后将文本转化为图片格式,实现图片的滚动,优化程序

Android 实现视频字幕Subtitle和横竖屏切换

Android 实现视频字幕Subtitle和横竖屏切换,即使旋转按钮关闭,根据方向感应器也能做到横竖屏切换

Java实现滚动字幕

Java实现滚动字幕import java.awt.BorderLayout; import java.awt.Color; import java.awt.Font; import java.awt...

用matlab实现视频截图字幕部分的拼接

我们常在微博及各大论坛、贴吧看到各种视频截图字幕部分的拼接,这广泛应用于一个角色在剧中说的一段特别精彩的话,这对应于 Gif ⇒ 长图(图接图) ⇒ 字幕拼接 方式的转变,大概是为了空间的节约,自然也...

EDIUS中怎么实现卡拉OK字幕的制作

我们在看歌曲的MV的时候,经常会看到歌词一个一个地按照人声的节奏出现,这种效果是怎么实现

水平方向滚动字幕的实现

滚动字幕的广告

python实现的黑客字幕雨(附截图功能)

python实现的黑客字幕雨(附截图功能)
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)