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


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0526
文字を消す3解決


リンク

2010/5/26(Wed) 20:50:04|NO.32766

■■■■■■■ ←このような順に並んだ記号を、同じボタンを押すたびに右から順に
消えるようにしたいのですがどうすればいいんでしょうか?



この記事に返信する


荒河

リンク

2010/5/26(Wed) 21:56:19|NO.32768

1:ボタンを押すたびに文字を一個少なくして書き直す
2:ボタンを押すたびに消す文字の座標を計算して背景色で塗りつぶす



窓口

リンク

2010/5/27(Thu) 01:12:58|NO.32772

荒河さんのコメント内の、1番の方法のスクリプトです。


// 文字を表示する最初の座標。 #const tx 20 #const ty 20 ;--------------------------------------- #const PUSH_BACKSPACE 0x08 #const PUSH_ENTER 0x0d #const PUSH_SPACE 0x20 #const PUSH_TAB 0x09 String = "" onkey gosub *Label_OnKey ; キー入力を受け取る。 stop *Label_OnKey title strf("0x%02x" , wparam) switch wparam ;<----バックスペースが押された場合----> case PUSH_BACKSPACE slen = strlen(String) if slen { poke String , slen-1 , 0x00 } swbreak ;<----エンターキーが押された場合----> case PUSH_ENTER String += "\n" swbreak ;<----スペースキーが押された場合----> case PUSH_SPACE String += " " swbreak ;<----タブキーが押された場合----> case PUSH_TAB String += "\t" swbreak ;<----その他のキー----> default // 文字列である場合 if ( 'A' <= wparam and 'Z' >= wparam ) or ( '0' <= wparam and '9' >= wparam ){ String += strf("%c" , wparam ) // 大文字処理 swbreak } swend gosub *label_ProcPrintString return *label_ProcPrintString redraw 0 gosub *label_DrawBackGround gosub *label_DrawString redraw 1 return // 背景の更新処理 *label_DrawBackGround mes "A" CharSize = ginfo_mesx , ginfo_mesy color 255,255,255 boxf return // 文字列の描画処理 *label_DrawString color 0,0,0 pos tx,ty : mes string pos ( tx + ginfo_mesx - CharSize.0 ) , ( ginfo_cy - CharSize.1 +1 ) mes "_" return

背景が一色である場合は
input または mesbox を使用して作ったオブジェクトを使用するのが無難だと思います。

下のサイトに色の変え方から、枠の消し方、入力制限の方法まで色々載ってます。

>>ttp://lhsp.s206.xrea.com/hsp_object2.html

フォントの変更だけならhsp の標準命令でも出来るみたいです。


objsize ginfo_winx , 30 objmode 2 , 0 font "魚石行書", 30 , 1 | 16 input a font "MSゴシック" , 10 , 16 input a



kitune

リンク

2010/5/29(Sat) 18:20:52|NO.32810

ありがとうございます。おかげで解決しました



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