#define x0 50					;テキストの初期表示位置
#define y0 50					;テキストの初期表示位置
;--------------------変数の初期化------------------
	exist "start.txt"			;ファイルサイズ取得
	sdim t_data,strsize : notesel t_data	;メモリノートパッド命令のバッファに指定
	bload "start.txt",t_data		;テキスト読み出し
	notemax line_max			;テキストの行数を取得

	sdim t_one,100				;一行分のテキストを入れる
	sdim char,3				;日本語一文字などを入れる
	line_now=0				;現在のテキストの行数

	counter=0				;文字数など
	f_size=25				;フォントサイズ
	f_name="MS 明朝"			;フォント名
	font f_name,f_size,1			;フォント指定
	t_wait=1				;テキストウェイト
	x=x0 : y=y0				;テキスト表示位置

;--------------------メインループ------------------
	repeat
		noteget t_one,line_now		;テキストから一行読みだし
		gosub *text_view		;その一行を表示
		line_now++			;次の行へ
		if line_now==line_max : break	;テキストの最後で終わり
	loop
	stop

;--------------------サブルーチン------------------
;--------------------テキスト表示------------------
*text_view
	strlen counter,t_one			;文字数を数える(日本語だけとする)
	repeat counter/2			;この半分が文字数である(2byteなので)
		strmid char,t_one,cnt*2,2	;一文字抜き出し
		color 0,0,0 : pos x+1,y+1 : mes char	;影表示
		color 0,128,255 : pos x,y : mes char	;文字表示
		x+=f_size				;表示位置をずらす
		wait t_wait				;ウェイト
	loop
	x=x0 : y+=f_size			;表示位置修正
	return
まずは、テキストを読み込んで一行ずつ表示をする。さらには 影文字で表示速度の調整をすることです。
このプログラムを動かすには、適当なテキストstart.txtが必要です。
テキストは一行ずつ処理します(メモリノートパッド命令)。
一行読み出した後は、今度は一文字ずつ処理をします。今回の場合は 日本語(2byte文字、全角文字)しか使用しないとしてプログラムを進めます。その方が楽です。
strmidで一文字だけ取り出すことができます。(2byte分読み出すわけです)
ここで一文字表示すると次の表示位置は次の行に勝手になってしまいます。そこで、 このプログラムではx,yという変数に表示位置を入れて管理することにします。
文字のサイズはfont命令で指定したサイズがその幅と高さになります。
ここでは、基本的なことばかりなので後々追加や修正が加えられます。
■ 目次へ戻る ■

PC用眼鏡【管理人も使ってますがマジで疲れません】 解約手数料0円【あしたでんき】 Yahoo 楽天 NTT-X Store

無料ホームページ 無料のクレジットカード 海外格安航空券 ふるさと納税 海外旅行保険が無料! 海外ホテル