Author Topic: Движущийся текст (по горизонтали)  (Read 632 times)

0 Members and 1 Guest are viewing this topic.

Offline Alec - WS3D Developer

  • Producer
  • Administrator
  • Marquess
  • *
  • Posts: 911
  • Reputation 36
  • Game making is my hobby for life!
Движущийся текст (по горизонтали)
« on: November 30, 2014, 05:27:12 PM »
Как сделать движущийся текст по горизонтали?

Это может быть и бегущая строка, и новости, и что угодно другое.
В этом примере текст плавно двигается справа налево (по оси X), как бегущая строка.
Это достигается за счёт изменения левой координаты поля текста по оси X.

Code: [Select]
'' ----------------------------------------------------------------------------
'' Пример сделал Alec (WorldSim3D developer)
'' ----------------------------------------------------------------------------
'' Пример: Движущийся текст (Бегущая строка, титры, новости и т.д.)
'' Текст двигается справа налево за счёт изменения координат поля текста по оси X
'' ----------------------------------------------------------------------------

'' Includes for extension libraries
#Include "WorldSim3D.bi"

'' global variables
' переменная для координат текста бегущей строки по оси X
' a - координата левого поля текста, b координата правого поля текста
Dim As Integer a = 800, b = 1300

' WorldSim3D objects

Dim BitmapFont as wFont

' -----------------------------------------------------------------------------
' start the WorldSim3D interface
wStart( wDT_OPENGL, 800, 600, wBITS_PER_PIXEL_32,_
          wWINDOWED, wNO_SHADOWS, wCAPTURE_EVENTS,_
          wVERTICAL_SYNC_ON )
wSetWindowCaption( "Example: Credit titles" )

BitmapFont = wGetFont ( "../media/Fonts/green.png" )

' -----------------------------------------------------------------------------
' while the WorldSim3D environment is still running
WHILE wRunning
    ' begin the scene, erasing the canvas with grey before rendering
    wBeginScene( 0,5,0 )
   
    ' отрисовка текста бегущей строки
    w2DFontDraw ( BitmapFont, "WorldSim3D is a powerful and easy to learn game engine. You can create almost any 3D game with it for PC Windows.", a, 20, b, 40 )
   
    ' с каждым кадром меняется положение титров по оси Y
    ' чтобы титры двигались быстрее, вместо значения 1 ставьте 2, 3 и т.д.
    ' достаточно двигать верх текстового поля (значение a)
    a = a - 1
   
    ' Когда титры выходят за рамки верха экрана, установить их первоначальное положение.
    ' Чем больше строка и чем крупнее шрифт, тем меньше здесь должно быть значение
    ' переменной 'a' и наоборот, если, конечно, вам нужно, чтобы строка пробежала до конца
    ' левого края, прежде чем она снова появится справа.
    If a < -2000 then a = 800 ' достаточно установить только координату левого края

    wEndScene
    ' чтобы титры двигались медленнее, в функции wSetFPS поставьте в скобках значение меньше 60,
    ' например, wSetFPS (20)
    wSetFPS
    wCloseESC()
Wend

' -----------------------------------------------------------------------------
' Stop the WorldSim3D engine and release resources
wStop

WorldSim3D = 3D + FreeBasic. Программируй в удовольствие, а не "в тягость"! Make your project with pleasure, not with strain!