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

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



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.93491への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

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