スイッチ(質問掲示板)
投稿: 退会したユーザー
投稿:2009/08/15 20:57:15(最新:2009/08/21 07:06:21)
ゲームで道具を受け取ったりすると、もう受け取れなくなるようにするにはどうするのですか?
また、それを応用して、スイッチみたいに一度押すと、アイコンが変わり、もう押せないみたいな機能はありますか?
__
| | → __
| | | |
ツイート
また、それを応用して、スイッチみたいに一度押すと、アイコンが変わり、もう押せないみたいな機能はありますか?
__
| | → __
| | | |
- -------
コメントする
コメントするには、ログインする必要があります。
コメント一覧
退会したユーザー(投稿日:2009/08/21 07:06,
履歴)
ありがとうございます
退会したユーザー(投稿日:2009/08/20 19:19,
履歴)
よくみたらこのトピックが「スイッチ」でした。
下から2番目の記事です
下から2番目の記事です
退会したユーザー(投稿日:2009/08/20 19:19,
履歴)
アイコンが変わるというのは、「スイッチ」のトピックに書いてあります。
表示が崩れてしまっているようなので
以下のようにかかれたものとして返事を書かせていただきます。
実行内容
# スイッチを押したときの処理うんたらかんたら
setFlag("宝箱を開けたよ",true)
if getFlag("普通の剣を手に入れた")
speak("もう何も入っていない)
else
speak("ガチャッ")
speak("普通の剣が入っていた")
# アイテムを渡す処理
giveItem(1)
setFlag("普通の剣を取った",true)
end
有効条件
!getFlag("宝箱を開けたよ")
フラグの名前が判定するときと設定するときで
"普通の剣を手に入れた"と"普通の剣を取った"で、
違ってしまっているため希望の動作が得られてないと思われます。
アイコンの変更とはイベントの表示キャラクターの変更ということでしょうか?
その場合現在は実現する方法はないと思われます。
今後の修正でできるようにするかどうか検討したいと思います。
よろしくお願いします。
以下のようにかかれたものとして返事を書かせていただきます。
実行内容
# スイッチを押したときの処理うんたらかんたら
setFlag("宝箱を開けたよ",true)
if getFlag("普通の剣を手に入れた")
speak("もう何も入っていない)
else
speak("ガチャッ")
speak("普通の剣が入っていた")
# アイテムを渡す処理
giveItem(1)
setFlag("普通の剣を取った",true)
end
有効条件
!getFlag("宝箱を開けたよ")
フラグの名前が判定するときと設定するときで
"普通の剣を手に入れた"と"普通の剣を取った"で、
違ってしまっているため希望の動作が得られてないと思われます。
アイコンの変更とはイベントの表示キャラクターの変更ということでしょうか?
その場合現在は実現する方法はないと思われます。
今後の修正でできるようにするかどうか検討したいと思います。
よろしくお願いします。
退会したユーザー(投稿日:2009/08/20 17:35,
履歴)
もう一つ書き忘れました。
扉で開いたらアイコンが変わるという方法もお願いします。
扉で開いたらアイコンが変わるという方法もお願いします。
退会したユーザー(投稿日:2009/08/20 17:34,
履歴)
すみません修正します
今、スイッチと同じように宝箱でやってみたんですが、うまくできませんでした。間違っているところを教えていただきますか?
実行内容
# スイッチを押したときの処理うんたらかんたら
setFlag("宝箱を開けたよ",true)
if getFlag("普通の剣を手に入れた")
speak("もう何も入っていない)
else
speak("ガチャッ")
speak("普通の剣が入っていた")
# アイテムを渡す処理
giveItem(1)
有効条件
getFlag("宝箱を開けたよ")
setFlag("普通の剣を取った",true)
end
お願いします
今、スイッチと同じように宝箱でやってみたんですが、うまくできませんでした。間違っているところを教えていただきますか?
実行内容
# スイッチを押したときの処理うんたらかんたら
setFlag("宝箱を開けたよ",true)
if getFlag("普通の剣を手に入れた")
speak("もう何も入っていない)
else
speak("ガチャッ")
speak("普通の剣が入っていた")
# アイテムを渡す処理
giveItem(1)
有効条件
getFlag("宝箱を開けたよ")
setFlag("普通の剣を取った",true)
end
お願いします
退会したユーザー(投稿日:2009/08/20 17:33,
履歴)
退会したユーザー(投稿日:2009/08/17 13:01,
履歴)
わかりました
退会したユーザー(投稿日:2009/08/17 12:02,
履歴)
waitTime関数のことなんですけど、時間がたった後、ワープしてやり直しというのは可能ですか?
退会したユーザー(投稿日:2009/08/16 15:51,
履歴)
わかりました!
ちなみに今はマップチップ制作しています
ちなみに今はマップチップ制作しています
スイッチを押したら制限時間内に洞窟を脱出というような
仕掛けを作るのは、今のRmakeだと、まだちょっと難しい
ですね。。。
waitTime関数はスクリプトの処理を指定時間分停止する
ための関数です。
たとえば、画像Aを表示 → waitTime → 画像Bの表示
というように、紙芝居というかオートスライド的なことをするための
関数だったりします。
いろいろと行き届かなくて申し訳ありません。
時間制限についてはできるようにしたいところです。
あるいはダメージを与える床みたいなものを作って擬似的に
制限を作るのは良いかもしれません。
仕掛けを作るのは、今のRmakeだと、まだちょっと難しい
ですね。。。
waitTime関数はスクリプトの処理を指定時間分停止する
ための関数です。
たとえば、画像Aを表示 → waitTime → 画像Bの表示
というように、紙芝居というかオートスライド的なことをするための
関数だったりします。
いろいろと行き届かなくて申し訳ありません。
時間制限についてはできるようにしたいところです。
あるいはダメージを与える床みたいなものを作って擬似的に
制限を作るのは良いかもしれません。
退会したユーザー(投稿日:2009/08/16 15:21,
履歴)
もう一つありあすが、
スイッチを押したら時間制限が始まるみたいのは、
スイッチの関数などのあとに「waitTime(1000)」を入れるんですか?
それか、ボタンの次のマスに「waitTime(1000)」をいれ、もうこのイベントが起きないようにするんですか?
スイッチを押したら時間制限が始まるみたいのは、
スイッチの関数などのあとに「waitTime(1000)」を入れるんですか?
それか、ボタンの次のマスに「waitTime(1000)」をいれ、もうこのイベントが起きないようにするんですか?
退会したユーザー(投稿日:2009/08/16 08:42,
履歴)
ありがとうございます。
今ダンジョン系のを作ろうかと思って考えていたんですよ!
今ダンジョン系のを作ろうかと思って考えていたんですよ!
Rmakeのご利用ありがとうございます!
一度人から受け取ったアイテムをもう受け取れないようにするには、
if文とgetFlag関数とsetFlag関数を組み合わせる必要があります。
以下のように書いてみてください。
上記を簡単に解説すると、(1) setFlag関数でアイテムを受け取った
ことを記録する、(2) getFlag関数とif文で受け取っているかどうかを
確認する、という処理を行っています。
if文については以下を参照してください。
スクリプト言語のマニュアル
http://rmake.jp/document/script_manual
スイッチや宝箱のように、アイコンを変わるようにするのは
もう少し難しくなります。手順としては、以下のようになります。
(1) キャラクタとマップチップにスイッチを準備する
キャラクタ画像に押されていないスイッチを準備します。次に、
マップチップに押したあとのスイッチを準備します。
マップ上に、まずマップチップで押したあとのスイッチを表示し、
その上からキャラクタ画像で押されていないスイッチを上乗せ
します。(つまり、押されていないスイッチの上に押されている
スイッチを乗せるということです。)
(2) イベントエディタの「有効条件(スクリプト)」を使う
イベントエディタの「有効条件(スクリプト)」に以下のように
書きます。
getFlag関数の前に「!」が入っていることに注意してください。
「!」は否定を意味していて、スイッチを押していないことを
表現しています。
有効条件を設定すると、条件を満たしていないとそのイベント
キャラクタは表示されなくなります。つまり、これを設定する
ことによって、押されていないスイッチを消去して押されている
スイッチを表示することになります。
(3) 「イベント実行内容(スクリプト)」を書く
あとは、「イベント実行内容(スクリプト)」で、フラグを
設定します。
以上で、設定完了です。
一度人から受け取ったアイテムをもう受け取れないようにするには、
if文とgetFlag関数とsetFlag関数を組み合わせる必要があります。
以下のように書いてみてください。
if getFlag("アイテムを受け取った") speak("もうアイテムは渡したよ!") else speak("アイテムをやろう。") # アイテムを渡す処理は省略します。。。 setFlag("アイテムを受け取った",true) end
上記を簡単に解説すると、(1) setFlag関数でアイテムを受け取った
ことを記録する、(2) getFlag関数とif文で受け取っているかどうかを
確認する、という処理を行っています。
if文については以下を参照してください。
スクリプト言語のマニュアル
http://rmake.jp/document/script_manual
スイッチや宝箱のように、アイコンを変わるようにするのは
もう少し難しくなります。手順としては、以下のようになります。
(1) キャラクタとマップチップにスイッチを準備する
キャラクタ画像に押されていないスイッチを準備します。次に、
マップチップに押したあとのスイッチを準備します。
マップ上に、まずマップチップで押したあとのスイッチを表示し、
その上からキャラクタ画像で押されていないスイッチを上乗せ
します。(つまり、押されていないスイッチの上に押されている
スイッチを乗せるということです。)
(2) イベントエディタの「有効条件(スクリプト)」を使う
イベントエディタの「有効条件(スクリプト)」に以下のように
書きます。
!getFlag("スイッチを押したよ")
getFlag関数の前に「!」が入っていることに注意してください。
「!」は否定を意味していて、スイッチを押していないことを
表現しています。
有効条件を設定すると、条件を満たしていないとそのイベント
キャラクタは表示されなくなります。つまり、これを設定する
ことによって、押されていないスイッチを消去して押されている
スイッチを表示することになります。
(3) 「イベント実行内容(スクリプト)」を書く
あとは、「イベント実行内容(スクリプト)」で、フラグを
設定します。
# スイッチを押したときの処理うんたらかんたら setFlag("スイッチを押したよ",true)
以上で、設定完了です。
退会したユーザー(投稿日:2009/08/15 20:57,
履歴)
上のAA失敗しました