|
|
2013/8/23(Fri) 16:56:50|NO.56611
どこかのスレのソースコードを拝借して、デスクトップのアイコンをボタン化してみたんですが
celload "Image\\deskicon1.png" ,2
celdiv 2,104,70
picload "Image\\1.bmp"
buffer 1,104*3,70 //ボタン用バッファ
repeat 3 //ボタン用バッファに配置場所の画像とボタン画像をコピー
pos 104*cnt,0
gmode 0
gcopy 0,0,0,104,70 //ボタンの配置場所の画像をボタン画像をコピーする場所にコピー
pos 104*cnt,0
gmode 2
celput 2, cnt //ボタン画像をボタン用バッファにコピー
loop
celload "Image\\deskicon2.png" ,4
celdiv 2,104,70
buffer 2,104*3,70
repeat 3
pos 104*cnt,0
gmode 0
gcopy 0,0,0,104,70 //ボタンの配置場所の画像をボタン画像をコピーする場所にコピー
pos 104*cnt,0
gmode 2
celput 4, cnt //ボタン画像をボタン用バッファにコピー
loop
gsel 0, 1
pos 0, 0
objsize 104,70
objimage 1, 0, 0, 104, 0, 104*2,0
button "", *notepad
objimage 2, 0, 0, 104, 0, 104*4,0
button "", *notepad
stop
*notepad
で2つのアイコンを設置したのですが、2つ目のボタンが正常に表示してくれません
どうやったらうまく表示できるのですか?
http://ux.getuploader.com/Cydia_hatena7/download/7/Image.zip
画像はここです
|
|
2013/8/23(Fri) 17:50:01|NO.56612
今少しソースコードを読んでどうすべきか見ているところです。
今すぐ回答はできませんが、解り次第書かせていただきます。
取り敢えず自分で原因を見つける方法として、
bufferをscreenに変えて確認しながらソースコードの問題点を
見ていくのはどうでしょうか。
値はLogmes辺りで表示して。
あと、celloadのIDとscreen,bufferのIDが関係あるかは忘れましたが、
なるべく同じIDは使わないほうが良いと思います。
また、この場合、cel関連ではなく、picloadのみでいけると思うのですが。
というよりそっちの方が楽かと
|
|
2013/8/23(Fri) 17:59:55|NO.56613
screenと、picloadで確認すると、背景を黒に塗りつぶした部分のみボタンとなってます。
|
|
2013/8/23(Fri) 18:03:37|NO.56614
|
|
2013/8/23(Fri) 18:09:39|NO.56615
>>kayaさん
要するにボタンを1つつけたらもう一回付け直す(?)って感じかな?
|
|
2013/8/23(Fri) 18:14:42|NO.56616
えーと、調査結果です。
取り敢えず今のソースを弄った場合、これで対処出来ました。
celload "deskicon1.png" ,2
celdiv 2,104,70
picload "1.bmp"
buffer 1,104*3,70 //ボタン用バッファ
repeat 3 //ボタン用バッファに配置場所の画像とボタン画像をコピー
pos 104*cnt,0
gmode 0
gcopy 0,0,0,104,70 //ボタンの配置場所の画像をボタン画像をコピーする場所にコピー
pos 104*cnt,0
gmode 2
celput 2, cnt //ボタン画像をボタン用バッファにコピー
loop
celload "deskicon2.png" ,4
buffer 2,104*3,70
gsel 2
repeat 3
pos 0,0
gmode 0
gcopy 4,0,0,104*3,70 //ボタンの配置場所の画像をボタン画像をコピーする場所にコピー
loop
gsel 0, 1
pos 0, 0
objsize 104,70
objimage 1, 0, 0, 104, 0, 104*2,0
button "", *notepad
objimage 2, 0, 0, 104, 0, 104*2,0
button "", *notepad
stop
*notepad
また、完全に別物になっちゃっていますが、
celload/putが余計と感じたので、
一部以外全部新しく書いちゃいました。
正直、picloadで読み込んだ方が数倍楽だと思います。
役に立つかもしれませんので、
取り敢えずこちらもソースを載せておきます。
#define ICONMAX 2
// アイコン表示最大数
buffer 1
picload "1.bmp"
//デスクトップ背景画像
repeat ICONMAX,1
buffer (cnt+1)
picload "deskicon"+cnt+".png"
loop
//アイコンロード
/*もしアイコンを一つのバッファにまとめる場合
buffer 30
repeat ICONMAX,2
pos 0 //これでx軸のみ0に。y軸はそのまま。
gmode 0
gcopy cnt, 0, 0, 104*3, 70
loop
もしアイコンを一つのバッファにまとめる場合*/
screen 0,640,480
gsel 0, 1
//スクリーン初期化(特にする必要はないけど)gsel
pos 0, 0
gcopy 1, 0, 0, 640, 480
//背景描画
pos 0, 0
objsize 104,70
objimage 2, 0, 0, 104, 0, 104*2,0
button "", *notepad
objimage 3, 0, 0, 104, 0, 104*2,0
button "", *notepad
//アイコンセット(取り敢えずボタンなので描画ではなくセットと書いておきます。
stop
*notepad
dialog "click"

| |
|
2013/8/23(Fri) 18:17:18|NO.56617
なんとか出来ました。どうやら値の問題でした。kayaさんのWindows777もどきのソースコードをみて
もしやと思って値を変更すると出来ました。
celload "Image\\deskicon1.png" ,2
celdiv 2,104,70
picload "Image\\1.bmp"
buffer 1,104*3,70 //ボタン用バッファ
repeat 3 //ボタン用バッファに配置場所の画像とボタン画像をコピー
pos 104*cnt,0
gmode 0
gcopy 0,0,0,104,70 //ボタンの配置場所の画像をボタン画像をコピーする場所にコピー
pos 104*cnt,0
gmode 2
celput 2, cnt //ボタン画像をボタン用バッファにコピー
loop
celload "Image\\deskicon2.png" ,4
celdiv 4,104,70
buffer 2,104*3,70
repeat 3 //ボタン用バッファに配置場所の画像とボタン画像をコピー
pos 104*cnt,0
gmode 0
gcopy 0,0,0,104,70 //ボタンの配置場所の画像をボタン画像をコピーする場所にコピー
pos 104*cnt,0
gmode 2
celput 4, cnt //ボタン画像をボタン用バッファにコピー
loop
gsel 0, 1
pos 0, 0
objsize 104,70
objimage 1, 0, 0, 104, 0, 104*2,0
button "", *notepad
objimage 2, 0, 0, 104, 0, 104*2,0
button "", *notepad
stop
*notepad
|
|
2013/8/23(Fri) 18:18:39|NO.56618
ありゃw書き込みされてたw
参考にします(^^)ありがとうございました!
|
|