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


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0106
burns仮想OS(OSもどき)を作っているのですが・・・・・・・・・・・。4未解決


burns

リンク

2010/1/6(Wed) 22:58:53|NO.29803

1.gselで作った枠の無いウィンドウに、picloadで画像を表示させる事が出来ません。
  ボタンとかはできるのですが・・・・・。

2.アイコンをクリックすると、OSもどき内のソフトが起動するようにしたいのですが、
  ボタンを画像にすることはできないんですか?



この記事に返信する


通りすがりの素人

リンク

2010/1/6(Wed) 23:29:40|NO.29804

・gselで枠の無いウィンドウなんて作れましたっけ。
 ・bgscrだと思われますが・・・。
・picloadは、意味的には画像を表示する命令ではなく、画像を読み込む命令だと思います。
 ・表示には、bufferやgcopy等を適宜使うべきではないでしょうか。
・ボタン(button)の画像化は、objimageとの組み合わせで可能だと思われます。
 ・ただし、ドラッグで移動等の凝ったことをするのならば、
  button以外の選択肢を取るべきだと思われます。

以上の事は、ほぼ全てF1で出てくるヘルプを参照したものです。
もしこれが答えになるのならば、貴方の努力不足です。



KA

リンク

2010/1/7(Thu) 00:55:00|NO.29805

私では回答できない、質問に回答するのも気が引けますが。

1:タイトルと質問の中身が合っていますか?
  多分、聞きたいことと合っていない気がします。

2:もう一度読み返して見ましょう。
  >>2.アイコンをクリックすると、OSもどき内のソフトが起動するようにしたいのですが、
  >>ボタンを画像にすることはできないんですか?

  起動させたいのか、画像を貼り付けたいのか・・????・・・
  おじさんには理解できません。

3:同上
  >>1.gselで作った枠の無いウィンドウに、picloadで画像を表示させる事が出来ません。
  >>ボタンとかはできるのですが・・・・・。

  ボタンには表示できる。という意味でしょうか。


「何かを作っていて、部分的に出来ない。」ではなく、「これが出来ない。」と
質問したほうが、回答も得られやすいと思います。

質問のタイトルと内容を、もう一度見てください。



Chokoko

リンク

2010/1/7(Thu) 01:39:12|NO.29806

質問1ですが、
gselはbgscrだと仮定して答えます。


buffer 1:picload "filename";画像をロード screen_mx=ginfo(12) screen_my=ginfo(13) bgscr 0,screen_mx,screen_my,0,0,0 gcopy 1,0,0,screen_mx,screen_my;画像をコピー

このように、1度バッファに画像をロードし、
そして、画像の大きさを変数に代入することで、
bgscrで作ったウィンドウに画像を表示することができます。

質問2に関しては通りすがりの素人さん
の答えを参考にすればできるかと思います。



Hatter

リンク

2010/1/7(Thu) 08:18:43|NO.29810

1. >> 無回答
2.>> たぶん、既出の回答で十分でしょうか以下のようにbutton命令を使わない方法もあります。
画像を用意し(button1.bmp<118*38>,button2.bmp<118*38>,button3.bmp<118*38>)コメントアウトした行のコメントアウトを解除し、最後に;ついてる3行をコメントアウト
するば、できます。ちなみに、bgscrなのにタイトルバー的なものをつけてみました。(フルスクリーンでないので動かせないと不便なので)

bgscr 0,120,140 ;buffer 2:picload "button1.bmp" ;buffer 3:picload "button2.bmp" ;buffer 4:picload "button3.bmp" ;gsel 0 onclick gosub *click color:boxf color 50,50,255:boxf 1,1,118,18 color 255,255,50:pos 10,1:mes " 仮想OS" color 0,255,255:boxf 1,21,118,58 color 255,0,0:pos 10,27:font "",30:mes "ボタンA"; ;pos 0,21:gcopy 2 color 0,255,255:boxf 1,61,118,98 color 255,0,0:pos 10,67:font "",30:mes "ボタンB"; ;pos 0,21:gcopy 3 color 0,255,255:boxf 1,101,118,138 color 255,0,0:pos 30,107:font "",30:mes "終了"; ;pos 0,21:gcopy 4 stop *click if (mousey>0)&(mousey<20){ MX=mousex:MY=mousey repeat stick key,256 iF(key^256):break ScreenX=ginfo_mx-MX ScreenY=ginfo_my-MY width ,,ScreenX,ScreenY await 1 loop } if (mousey>20)&(mousey<60):dialog "ボタンAだよ!" if (mousey>60)&(mousey<100):dialog "ボタンBだよ!" if (mousey>100)&(mousey<140):end return



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