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


HSPTV!掲示板


未解決 解決 停止 削除要請

2017
1031
mirage17Hsp3Dishで、画像ボタンを使ってWindowsゲームを作りたい9解決


mirage17

リンク

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画像」です。
それを使うことにより、擬似的にボタンに好きな画像を使うようにする
という事です。



mirage17

リンク

2017/11/1(Wed) 04:35:16|NO.81755

エイカさん、いつも、お世話になっております。
mirage17です。お返事ありがとうございます。
動作確認に、少し時間がかかるかもしれませんが、
やってみます。
お返事ありがとうございました。

他の方も、今回の場合の件について、わかる方が、
おられましたら、ソース全文貼り付けでもいいので、
ご回答いただけると、うれしいですね。

今回、エイカさんの方法で、やってみます。
解決まで、少々お待ちくださいませ。



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



mirage17

リンク

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は
多分必要ありません。
前回書いた私の場合は、配列変数だったので
それが必要だったのです。



mirage17

リンク

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



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