【HSP3】DXライブラリをHSPで使ってみるサンプル(6.サウンドノベル風文字列描画基本)

http://homepage2.nifty.com/natupaji/DxLib/dxprogram.html#N6 のHSP版です。DxLib.as は http://tkooler.moe.hm/hsp/img/DxLib.as から入手可能。

http://homepage2.nifty.com/natupaji/DxLib/dxprogram.html#N6 のHSP版です。DxLib.as は http://tkooler.moe.hm/hsp/img/DxLib.as から入手可能。

#runtime "hsp3cl"
#include "DxLib.as"
//
#define MOJI_SIZE 24
DrawPointX = 0 : DrawPointY = 0 //
SP = 0 : CP = 0 // (使)
sdim String, 256, 11
String(0) = ""
String(1) = "B"
String(2) = "@B"
String(3) = "@"
String(4) = "B"
String(5) = "C"
String(6) = ""
String(7) = "B"
String(8) = "@"
String(9) = "B"
String(10) = "BE"
*main
EndFlag = 0 //
sdim OneMojiBuf, 64 //
DxLib_Init
if( stat == -1 ){ //
dialog "" : end //
}
//
DrawPointX = 0
DrawPointY = 0
//
SP = 0 //
CP = 0 //
//
SetFontSize MOJI_SIZE
//
EndFlag = 0
//
repeat
ProcessMessage
if stat != 0 : break
CheckHitKey KEY_INPUT_ESCAPE
if stat != 0 : break
Moji = peek(String(SP), CP)
switch Moji
case '@' //
//
gosub *Kaigyou
CP++
swbreak
case 'B' //
//
WaitKey
CP++
swbreak
case 'E' //
//
EndFlag = 1
CP++
swbreak
case 'C' //
//
ClearDrawScreen 0
DrawPointY = 0
DrawPointX = 0
CP++
swbreak
default //
// (2byte)
wpoke OneMojiBuf, 0, wpeek(String(SP), CP)
//
GetColor 255, 255, 255
DrawString DrawPointX * MOJI_SIZE, DrawPointY * MOJI_SIZE, OneMojiBuf, stat
//
CP+=2
//
DrawPointX++
//
WaitTimer 10
//
if( DrawPointX * MOJI_SIZE + MOJI_SIZE > 640 ) : gosub *Kaigyou
swbreak
swend
//
if( EndFlag == 1 ) : break
//
if ( Moji == 0 ){
SP++
CP = 0
}
loop
DxLib_End // 使
end
stop
//
*Kaigyou
TempGraph = 0
//
DrawPointY++
//
DrawPointX = 0
//
if( DrawPointY * MOJI_SIZE + MOJI_SIZE > 480 ){
//
MakeGraph 640, 480
TempGraph = stat
//
GetDrawScreenGraph 0, 0, 640, 480, TempGraph
//
DrawGraph 0, -MOJI_SIZE, TempGraph, FALSE
//
DrawBox 0, 480 - MOJI_SIZE, 640, 480, 0, TRUE
//
DrawPointY--
//
DeleteGraph TempGraph
}
return
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX