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


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0922
ブルーン経営ゲームを作りたくて10解決


ブルーン

リンク

2015/9/22(Tue) 15:59:58|NO.71849

みなさん、はじめまして!
前に本当に少しだけHSPやっていたのですが、やめてしまって
それでまた勉強を始めたばかりなんですけど、

経営ゲームをどうしても自分で作りたいと思ってます。

今現在の疑問の質問なんですけど、

1,button命令があるのはわかりました。
ボタンの画像も指定できる命令もあるみたいで..
だいたい、見栄えがいいゲームはボタンは画像で表現してると思うんですけど
マウスが触れた瞬間、触れてるような画像になったりとか
そういうのを実現する方法はどういったものがあるんでしょうか?
経営でいうと、 営業ボタン とか 情報ボタン などです。

2,アイテムまたは道具の一般的な表現の仕方がよくわかりません。
配列つかって管理するんだろうなというのはわかるのですけど、
例えば、道具ってボタンを押して
道具を表示させる方法などやそれを選んで棚にだしたりなどです。


あとは何か初心者の私にアドバイスがあればよろしくお願いします。
本もかって見てみたりするのですが、自分が求めてるのを実現するには
さわり程度しかのっていなくて、悩んでいます。
自分で考えるのも大切なんだろうと思うですけど、一般的な方法っていうのを
知れば上達も早いのかなと思っています。

プログラミングの仲間もほしいのでよかったらメールください。



この記事に返信する


kanamaru

リンク

2015/9/22(Tue) 16:31:42|NO.71851

1について回答します。
ボタンの画像を指定できる命令はobjimageというヤツでマウスが上にある時の見た目の変化なども指定できます。



KOMARI

リンク

2015/9/22(Tue) 17:28:55|NO.71852

1.
無理にbuttonを使わなくてもいいんですよ、自作でも。
適当に画像を表示して、その上に当たり判定置くだけなので楽です。
マウスオーバーされる、クリックされる、等で画像やエフェクトを差し替えればそれっぽくなります。

2.

//sample1 objsize 160 item = "けん","ぼうぐ","くすり" button "アイテム一覧を見る",*showitem stop *showitem foreach item mes item(cnt) loop stop //sample2 objsize 200 item = "けん","ぼうぐ","くすり" foreach item button item(cnt)+"を棚に出す",*senditem loop tanaitem = "から" button "棚の中身を確認",*showtanaitem stop *senditem tanaitem = item(stat) //statにbuttonの番号が入る stop *showtanaitem mes "棚:"+tanaitem stop

アドバイス
もしプログラミング初心者なら、まずはプログラミングの学び方を知るのが大事。
すぐに上達したいなら、とにかくHSPがある程度できる人と仲良くなって、いろいろ教えてもらうのが一番早い。
自分で学習するなら、ネットで調べたり、誰かが書いたコードを覗くのもあり。

ところで、メールアドレスを載せ忘れていませんか?



pumpkin

リンク

2015/9/22(Tue) 17:38:23|NO.71853


objimageという命令があります。
それ以外の方法なら、ボタンの座標とマウスの座標が重なった場合に、ボタンの画像を変えるという方法があります。
repeat
redraw 0 //画面塗りつぶし color 255,255,255 boxf //マウスの位置xが0〜50 位置yが0〜50の時、変数henに1を代入 //それ以外(else)の時、変数henに0を代入 if mousex>=0 & mousex<=50 & mousey>=0 & mousey<=50 : hen=1 :else: hen=0 //変数henが0の時(マウスが四角の外にある時)、青で四角を描画 if hen=0:color 0,0,255:boxf 0,0,50,50 //変数henが1の時(マウスが四角の中にある時)、赤で四角を描画 if hen=1:color 255,0,0:boxf 0,0,50,50 redraw 1 wait 1 loop
ボタンではないですがそれっぽいの作りました
四角にマウスが触れると、四角が青になります。

2
押された画像によって、変数に別々の数を代入する方法があります。
例えば道具1をリック→変数に1を代入 道具2をクリック→変数に2を代入という風にして
変数が1の場合と2の場合によって別々のことが起きるようにすればいいです。
この方法はどのジャンルのゲームでも使えるので、覚えておいて損はないです。
hen="(無し)"
repeat redraw 0 //塗りつぶし color 255,255,255 boxf //四角描画 color 255,0,0 boxf 0,0,50,50 color 0,255,0 boxf 50,0,100,50 color 0,0,255 boxf 100,0,150,50 //クリックした時のマウス座標を変数cx,cyに代入 stick click if click=256:cx=mousex:cy=mousey //クリックした場所によって、変数に違う言葉を代入 if cx>150 | cy>50 : hen="(無し)" //四角以外の場所クリックでhenに(無し)を代入 if cx>0 & cx<50 & cy>0 & cy<50 : hen="赤" //赤四角クリックでhenに赤を代入 if cx>50 & cx<100 & cy>0 & cy<50 : hen="緑" //緑四角クリックでhenに緑を代入 if cx>100 & cx<150 & cy>0 & cy<50 : hen="青" //青四角クリックでhenに青を代入 //マウスのそばに選択中の色を表示 color 0,0,0 pos mousex+10,mousey mes "選択中の色 : "+hen redraw 1 wait 1 loop
簡単なものなので数ではなく文字を代入していますが、考え方は同じです。
クリックした四角の色を表示します。



pumpkin

リンク

2015/9/22(Tue) 17:52:41|NO.71854

ちょっとしたアドバイス
ゲームはほとんどrepeat、変数、条件分岐(if)で出来てるようなもので
本格的なアクションゲームも、難しそうな命令たくさん使ってるように見えて実は8割が簡単なプログラムの応用です。

講座動画見るなり(講座動画はYouTubeよりニコニコの方が多い気が…)、他人のプログラム勝手にいじるなり(無許可で再upはNG)
一つずつ理解していくのが一番早いです。

全く分からないまま放っておくのが一番やってはいけないです(重要)
なんとなくでいいです。最低「この命令はこんなことが出来る」程度でいいので、理解しようとしてください。



b

リンク

2015/9/22(Tue) 18:16:36|NO.71855

>>本もかって見てみたりするのですが、自分が求めてるのを実現するには
>>さわり程度しかのっていなくて、悩んでいます。

HSPに関して本は無意味といってもよいくらいです。
pumpukinさんもおっしゃっているようにどんなゲームも基本的な命令を組み合わせているだけなので
自分でどうやればできるかを考え(応用し)ないと意味がありません。
まずは他人が作ったサンプルなゲームのスクリプトを眺めて仕組みを理解するといいかもしれません。

命令の仕組みを簡単なソフトを作ったりしながら覚えればそれを応用して
「あの時使ったマウス判定をここにも使えばいいのか!」的なことができればOK。



ブルーン

リンク

2015/9/22(Tue) 22:09:28|NO.71856

みなさんありがとうございます!

すぐに打ち込めるなんてすごいですね!!

まだすぐに理解できないので

調べながらやってみたいと思います!

親切にありがとうございます。

メールアドレスはyuma0zz0@yahoo.co.jp です

よかったらメールください!



y.tack

リンク

2015/9/22(Tue) 22:49:31|NO.71858

経営ゲームを作成してるとのことですが

サンプルとしてお店ゲームを作成するとかどうでしょうか

昔、コミックメーカー(たぶんw)というツールで

お店ゲームを作ってる人は割といたような

経営ということで

お店→企業 とバージョンアップさせることを念頭に置いたうえで作成するのです

いやはや 経営と聞くと

シムシティとかA列車を思い浮かべてしまうもので



ZAP

リンク

2015/9/22(Tue) 23:51:26|NO.71859

道のりは長いです!
一気に最終ゴールをめざすと心が折れるかも知れませんが、
一つ一つ、できることを増やしながらがんばってください



ブルーン

リンク

2015/9/25(Fri) 10:31:23|NO.71927

>>ZAPさん

そうですね
できるだけがんばってみます。



Mituking[元mituki]

リンク

2015/9/25(Fri) 20:49:51|NO.71959

buffer,objimageを使ったらいいと思います。
参考

buffer 1;WindowID picload "image/test.bmp" objimage 1;WindowsID button "",*aa stop *aa dialog "成功"



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