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


HSPTV!掲示板


未解決 解決 停止 削除要請

2021
0805
Crystalカーソルが触れたときにグレーになるようにしたい(objimage命令)2解決


Crystal

リンク

2021/8/5(Thu) 18:52:22|NO.93491

HSPのサンプルに、objimage命令を使って、画像でボタンを作るものがあったのですが、
マウスカーソルがボタンに触れた際の挙動を画像を結合して、objimage命令のパラメータ
で指定していると思うのですが、新たに自分で作ったカスタムのボタンに触れた際の挙動
が含まれたものを作るのは正直めんどくさいと思います。(理由としては、画像編集ソフト
などで画像同士を結合しなくてはならない、いらないパラメータを消すのに画像処理が大変...)
そこで、objimage命令を使っても画像で触れた際にグレー(わかりづらくてすみません。
簡単に言えば、Windows 10の最小化・最大化のようにマウスカーソルが触れたらグレーっぽく
なるまたはボタンの色が薄くなるなど、触れたということで視覚的にユーザーに知らせたいです)
になるようにしたいのですが、よくわかりません。ですので、どのようにすればいいか教えてください。

ざっくり言うと、objimageのように画像にカーソルが触れた際の挙動を画像に埋め込むのでは
なく、HSPの命令などを使って表したいということです。よろしくお願いします。
objimageに関するソースは以下の通りです。(サンプルより)
ただ、これの場合は画像に触れた際の挙動があるので役には立たないかと...

; ; objimage命令によるカスタムボタンの作成 ; buffer 1 picload "btn_normal.bmp" screen 0,640,480 gradf ,,,, 1, 0, $c0 font "Arial",20 objmode 2 objsize 128,32 objimage 1, 0,0, 0,64, 0,32 ; ボタン画像の指定 button gosub "CALL",*call button "JUMP",*jmp objimage -1 ; 通常のボタンに戻す button gosub "CALL",*call button "JUMP",*jmp font msgothic,20,1 color 255,255,255 pos 140,0:mes "←カスタムボタンです" pos 140,64:mes "←通常のWindowsボタンです" sysfont 17 pos 0,140 stop *jmp mes "JUMP" stop *call mes "CALL" return



この記事に返信する


沢渡

リンク

2021/8/6(Fri) 16:17:37|NO.93495

元々のボタン画像を3つ並べたあと、押し下げ時やマウスオーバー時の画像には
「色のついた長方形を半透明コピーする」等の方法で加工すればよいと思いますが。

; ; objimage命令によるカスタムボタンの作成 ; buffer 2 picload "btn_normal.bmp" buffer 1,128,96 : repeat 3 : pos 0,cnt*32 : gcopy 2,0,0,128,32 : loop buffer 2,128,32 : color 0,0,255 : boxf //青を帯びた色にしてみる buffer 3,128,32 : color 255,0,255 : boxf //こちらはマゼンタを帯びた色にしてみる gsel 1 : gmode 3,128,32,127 : pos 0,32 : gcopy 2,0,0,128,32 : pos 0,64 : gcopy 3,0,0,128,32 //半透明コピー buffer 2,1,1 : buffer 3,1,1 //不要になった画像バッファの容量を最小に screen 0,640,480 gradf ,,,, 1, 0, $c0 font "Arial",20 objmode 2 objsize 128,32 objimage 1, 0,0, 0,64, 0,32 ; ボタン画像の指定 button gosub "CALL",*call button "JUMP",*jmp objimage -1 ; 通常のボタンに戻す button gosub "CALL",*call button "JUMP",*jmp font msgothic,20,1 color 255,255,255 pos 140,0:mes "←カスタムボタンです" pos 140,64:mes "←通常のWindowsボタンです" sysfont 17 pos 0,140 stop *jmp mes "JUMP" stop *call mes "CALL" return



Crystal

リンク

2021/8/6(Fri) 19:26:48|NO.93498

沢渡さん、ありがとうございます。
無事にホバーボタンを作成することができました。



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