HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
1230
きんにく文字のログを作りたいです5解決


きんにく

リンク

2007/12/30(Sun) 23:21:56|NO.12946

主人公が洞窟に行って自動戦闘して帰ってくるゲームを作りたいと思っています。
主人公の洞窟での行動を文字でログのように表示したいのですが、スクロールさせれるようにしないと画面に文字が表示しきれません。
mesboxと言う命令も使ってみたのですが、上手くできませんでした。

mesbox p1,p2,p3,p4,p5

↑これの、p1の変数の扱いが難しいなと感じています。
変数の中に文字を入れてみるのですが、ボックスの中に反映されないのです。

長文をスクロールさせれるようなログはみなさんはどうやって作っていますか?
何か面白い方法でもあったら聞きたいです。



この記事に返信する


べなりあ

リンク

2007/12/31(Mon) 01:17:04|NO.12947

mesbox命令で扱う変数の内容が変化した時には、
objprm命令を使えば更新することができます。

data="test" mesbox data,100,100 data="テスト" button "更新します",*kousin stop *kousin objprm 0,data stop



たこ

リンク

2007/12/31(Mon) 01:27:14|NO.12948

mesmboxの中身を反映させるなら、objprmを使ってください

あと、普通なやり方ですが参考になれば幸いです


#define LOG_NUM 3 ;このプログラムだと3行しかだめです sdim log , ,LOG_NUM :buf = "" pos 0 ,100 :input buf ,300 ,20 pos 300 ,100 :button gosub "入力" ,*inp repeat redraw 0 color 0 ,0 ,0 :boxf 0 ,0 ,300 ,80 :color 255 ,255 ,255 repeat LOG_NUM pos 0 ,20*cnt :mes log(cnt) loop redraw 1 wait 1 loop *inp repeat LOG_NUM-1 log(LOG_NUM-1-cnt) = log(LOG_NUM-2-cnt) loop log(0) = buf return



naznyark

リンク

2007/12/31(Mon) 01:45:51|NO.12952

上で既に回答されているように objprm 命令と
過去ログ http://hsp.tv/play/pforum.php?mode=all&num=12047 の方法を使うか
でなければ自前で描画するだけのことです。

sdim msgtext, 4096 sdim linetext, 1024 repeat 100 msgtext += "" + cnt + "\n" loop fontsize = 18 font msgothic, fontsize, 0 visibleline = ginfo_winy / fontsize // 画面に表示可能な最大行数 drawline = 1 // 実際に画面に表示する行数 startline = 0 // 何行目から表示するか notesel msgtext repeat 100 wait 10 redraw 0 color 255, 255, 255 boxf // 文章を startline 行目から drawline 行分表示 color 0, 0, 0 pos 0, 0 repeat drawline noteget linetext, startline + cnt mes linetext loop // 表示行数を1増やす drawline += 1 // 表示行数が表示可能行数を超えたら表示開始行を1増やす if ( drawline > visibleline ) { drawline = visibleline : startline += 1 } redraw 1 loop



きんにく

リンク

2008/1/1(Tue) 17:54:03|NO.12980

みなさんありがとう。
参考になります。



きんにく

リンク

2008/1/1(Tue) 17:54:45|NO.12981

チェック入れます



ONION software Copyright 1997-2021(c) All rights reserved.