|
|
2017/10/31(Tue) 20:07:04|NO.81750
来年以降のHSPプログラムコンテストの為に、題名通り、
HSP3Dishで、Title画面の下の方に、PushImageボタンの、
画像ボタンを押すと、Game画面に、シーンを移動できる、HSPのプログラム
で、使いまわしできる使用可能なサンプルソースが書ける方に、ぜひ書いていただきたい
のですが、Windows上で、動けばいいので、わかる方、おりましたら、
教えてください。このプログラムソースを基礎にして、何か作品を作りたいです。
皆様、よろしくお願いします。
画像のサンプルの場所: http://beauty.geocities.jp/seijings137/mirage17/hsppush.zip
|
|
2017/10/31(Tue) 23:42:57|NO.81751
どうも、こんにちわ。mirage17さん
いつも、お世話になっております!(*^_^*)。
私の勘違いかもしれませんが
そうでなければ、objimage命令で
おっしゃってることは可能かと思います
私は、透明のpngで400*400の「button.png」というファイルを使っています
手順的にはこんな感じです
celload "button.png",40
objimage 40,0,0,0,0,0,0
objsize ボタンサイズX.1,ボタンサイズY.1
pos ボタン座標X.1,ボタン座標Y.1
button goto "",*バトルコマンド01
そして、このposの位置に使いたいボタン画像を配置
あとは、ボタンの配置サイズに合わせて
透明pngのサイズを大きくしたりすれば
出来ると思います。
参考になれば、幸いです
|
|
2017/11/1(Wed) 02:29:07|NO.81754
追記です
透明pngは「画像全面の全て透明の、何もその画像が表示されない
png画像」です。
それを使うことにより、擬似的にボタンに好きな画像を使うようにする
という事です。
|
|
2017/11/1(Wed) 04:35:16|NO.81755
エイカさん、いつも、お世話になっております。
mirage17です。お返事ありがとうございます。
動作確認に、少し時間がかかるかもしれませんが、
やってみます。
お返事ありがとうございました。
他の方も、今回の場合の件について、わかる方が、
おられましたら、ソース全文貼り付けでもいいので、
ご回答いただけると、うれしいですね。
今回、エイカさんの方法で、やってみます。
解決まで、少々お待ちくださいませ。
|
|
2017/11/1(Wed) 10:05:50|NO.81756
簡単なサンプルを組んでみたが、オブジェクトが多すぎます。
とエラーが出て、先に進めない。どうすれば動くのかな?
;
; テスト(Windows版)
;
#include "hsp3dish.as"
#packopt xsize 400
#packopt ysize 640
title "テスト"
randomize
cls ; 画面の初期化を行なう
*start01
celload "button.png",40
celload "title.png",1
celload "pushimage.png",2
redraw 0 ; 描画開始
pos 0.1,0.1
celput 1,0
celput 2,0
objimage 40,0,0,0,0,0,0
objsize 128.1,128.1
pos 150.1,360.1
button goto "",*game01
redraw 1 ; 描画終了
await 16 ; 待ち時間(1/60秒)
goto *start01 ; ループさせる
*game01
cls ; 画面の初期化を行なう
celload "game.png",3
redraw 0 ; 描画開始
pos 0.1,0.1
celput 3,0
redraw 1 ; 描画終了
await 16 ; 待ち時間(1/60秒)
goto *game01 ; ループさせる
//gmode 2,128,128
|
|
2017/11/1(Wed) 10:11:29|NO.81757
ちなみに、透明PNGである、button.pngは、縦:640×横:400です。アドバイスお願いします。
|
|
2017/11/1(Wed) 10:45:06|NO.81758
恐らく、ループの中に
objimage 40,0,0,0,0,0,0
button goto "",*game01
を入れてるからです
ループの前に実行したらいいと思います。(*^_^*)。
あと、これらもループの行からは外したほうが良いと思います
celload "button.png",40
celload "title.png",1
celload "pushimage.png",2
もしかして私も勘違いしてるかもしれませんが…
|
|
2017/11/1(Wed) 10:53:00|NO.81759
…多分、こう書き変えたら動くと思います
;
; テスト(Windows版)
;
#include "hsp3dish.as"
#packopt xsize 400
#packopt ysize 640
title "テスト"
randomize
cls ; 画面の初期化を行なう
celload "button.png",40
celload "title.png",1
celload "pushimage.png",2
objimage 40,0,0,0,0,0,0
objsize 128.1,128.1
pos 150.1,360.1
button goto "",*game01
*start01
redraw 0 ; 描画開始
pos 0.1,0.1
celput 1,0
celput 2,0
redraw 1 ; 描画終了
await 16 ; 待ち時間(1/60秒)
goto *start01 ; ループさせる
*game01
cls ; 画面の初期化を行なう
celload "game.png",3
redraw 0 ; 描画開始
pos 0.1,0.1
celput 3,0
redraw 1 ; 描画終了
await 16 ; 待ち時間(1/60秒)
goto *game01 ; ループさせる
//gmode 2,128,128
|
|
2017/11/1(Wed) 11:03:54|NO.81760
あと
objsize 128.1,128.1
pos 150.1,360.1
の各種命令の.1は
多分必要ありません。
前回書いた私の場合は、配列変数だったので
それが必要だったのです。
|
|
2017/11/1(Wed) 11:12:35|NO.81761
少し(1行)だけ、エイカさんのプログラムを変更したら、思い通りの
動作をしてくれました。一応、動いているので、解決にしたいと思います。
この件で、また、質問する事があるかもしれませんが、その時は、
よろしくお願いします。ただし、まだボタンの位置は、おかしいかもしれないので、
調整が必要かもしれません。
pos 0.1,0.1
celput 1,0
pos 150.1,360.1 //この行を追加で、動きました。
celput 2,0
; テスト(Windows版)テストの完成版
;
#include "hsp3dish.as"
#packopt xsize 400
#packopt ysize 640
title "テスト"
randomize
cls ; 画面の初期化を行なう
celload "button.png",40
celload "title.png",1
celload "pushimage.png",2
objimage 40,0,0,0,0,0,0
objsize 128.1,128.1
pos 150.1,360.1
button goto "",*game01
*start01
redraw 0 ; 描画開始
pos 0.1,0.1
celput 1,0
pos 150.1,360.1
celput 2,0
redraw 1 ; 描画終了
await 16 ; 待ち時間(1/60秒)
goto *start01 ; ループさせる
*game01
cls ; 画面の初期化を行なう
celload "game.png",3
redraw 0 ; 描画開始
pos 0.1,0.1
celput 3,0
redraw 1 ; 描画終了
await 16 ; 待ち時間(1/60秒)
goto *game01 ; ループさせる
//gmode 2,128,128
|
|