saveGameDataとloadGameDataの使い方(質問掲示板

投稿: Aa mini #いお 投稿:2012/07/01 13:06:01(最新:2012/08/01 21:35:01)
セーブゲームデータ関数で全ユーザー共通の場所に保存できるって聞いたんですが、そのセーブ方法ってどうやるんでしょうか。
たとえば、変数1を追加したのを全ユーザー共通で1人1つゲームを起動した瞬間に、変数1を保存したいんです。
そしてロードゲームデータ関数の使い方もわかりません。
speak関数に、
speak(loadGameData(key) ,"人だと思いますがどうですか")

でもこれだと
ロードできるのか
ロードしたいことをロードできるのか
というのが思い浮かびます。
それに
僕は
キー(key)とか、
値とか、
わかりません。
誰か教えてください。

コメントする

コメントするには、ログインする必要があります。

コメント一覧

128 mini fragile(投稿日:2012/07/01 15:37, 履歴)
今回行いたいのは「現在プレー中の人数を表示」でしょうか?
それならば今回の方法だと何人がプレーしていても
1が表示されてしまいます。

方法としては
1.ロードする
2.ロードした値+1をセーブする#人数を更新
3.ロードした値を表示する。
ことで実装できると思います。

key は setVariable("a", 100)の"a"みたいなものという認識で
現在は大丈夫だと思います。

※しかしながらこの方法ではゲーム終了時に値を減らす関数が定義されていません
なのでこのままでは総プレー回数になってしまいます。


ゲーム終了時に減らせばいい話ですが、
プレーヤーはAlt+leftで前のページに戻るかもしれませんし、F5でリロードするかもしれません。

なので現時点でこの機能を実装するのは困難かと思います。
Cdv30200 aoi icon mini aoihikawa(投稿日:2012/07/02 17:42, 履歴)
仰ることは分かりますが、
とりあえず、使い方の練習と
その結果どういった状態になるかを
自分で確かめてみるというのも
理解につながり易くなるかなと。
Aa mini #いお(投稿日:2012/07/02 20:18, 履歴)
>※しかしながらこの方法ではゲーム終了時に値を減らす関数が定義されていません

注意書きをします。
もしもした(F5を押したり、ウィンドウを閉じる)という報告があれば
1度ゲームを非公開にして
データクリアをすればいいかと。
Aa mini #いお(投稿日:2012/08/01 21:35, 履歴)
ごめんなさいちょっと今から思ったのですが少し上から目線ですね
Aa mini #いお(投稿日:2012/08/01 21:35, 履歴)
あ、僕がですよ
      mini きゅうり(投稿日:2012/07/01 13:39, 履歴)
分かりやすくQ&Aに纏めてみました。
実際僕はまだ実用化したことないので、答えが間違っていたりするかもしれないので、そのときは他の人に頼みます...

Q.セーブ方法が分からない。
A.関数を使う。

表に書いてあるのがちょっと意味不明でしたが...

Q.ロードできるのかが分からない。
A.そんなのやってみないと分からないでしょ。

Q.ロードしたいことをロードできるのかが分からない。
A.やってみてもロードできなかったのであればそれは書き間違いです。

Q.値って何ですか?
A.ちゃんと調べましたか?
 というか、変数が使えてるあなたには「値」は理解できてるハズ

Q.キーって何ですか?
A.鍵です。
Aa mini #いお(投稿日:2012/07/01 17:19, 履歴)
keyって呼び出すための文字を書けばいいんですかね・・・?
値・・・。が文字・・・・。
とにかくkeyが良く分かりません。
keyの部分に何を書けばいいのかも全然。
       256 mini 池ちゃん(翡翠ヶ池)(投稿日:2012/07/01 18:16, 履歴)
なんでもいいんですよ^^僕の場合こうしました
ef aisatu()
speak("ちょっとまって^^(スペースキーを押さないでください、バグが起こります)")
waitTime(2000)
case speakWithSelect(5,"よろしく","(笑)","私は紙になる!","蟹になりたい","何もしない", 
    "メッセージの練習\n\nどれを伝える?")
  when 0
    saveGameData("m", "よろしく ")
  when 1
    saveGameData("m", "(笑) ")
  when 2
    saveGameData("m", "私は紙になる! ")
  when 3
    saveGameData("m", "蟹になりたい ")
  when 4
    
 end
end
def kotaeru()
speak("ちょっとまって^^(スペースキーを押さないでください、バグが起こります)")

waitTime(2000)
speak(loadGameData("m"),"だそうです^^")
end

この場合mは同じじゃないといけません
       256 mini 池ちゃん(翡翠ヶ池)(投稿日:2012/07/01 18:17, 履歴)
あ、ミスが・・・
一番最初の部分にdをつけてくださいorz
      mini きゅうり(投稿日:2012/07/01 19:03, 履歴)
いおくんさん

↓のfragileさんのコメントを見て、
通常変数を使いこなせるいおくんさんなら分かるはずですが
まさかスルーですか?

一部を引用しました↓
「key は setVariable("a", 100)の"a"みたいなものという認識で
現在は大丈夫だと思います。 」
      mini きゅうり(投稿日:2012/07/01 19:04, 履歴)
上から目線だと思ったらすいません...
Aa mini #いお(投稿日:2012/07/01 21:27, 履歴)
・・・スルーではないんですが良く分からなくて・・・・・。
      mini きゅうり(投稿日:2012/07/01 23:23, 履歴)
どこがですか?
・・・「箱」という例えを使って説明しなおしますね。

keyは、全ユーザー共通の変数の「箱」の名前を書くところです。
そしてvalueはそれに入れる値です。

分からないところを詳しくコメントお願いします。
Aa mini #いお(投稿日:2012/07/02 17:30, 履歴)
ごめんなさい。
本当にわからないので
>どこがですか?
っていうのはやめてください。
値・・・。。。あ!!
変数だったら
sという箱に3という数字を入れるって感じの値ですかね。
その値には、スクリプトとかを入れるっていうのは可能ですか?
Cdv30200 aoi icon mini aoihikawa(投稿日:2012/07/02 17:39, 履歴)
1行のスクリプトに全部入れ込むのではなく、

まずは、やりたいことごとに行を分けて
どこが上手くいかないかをチェックしてみては
いかがでしょうか。

#共通セーブデータを変数にロード
  
#変数に1を加算する
  
#共通セーブデータに変数を保存
  
#変数の値を画面に表示する
  
Aa mini #いお(投稿日:2012/07/02 20:16, 履歴)
おお、やってみます^^
Aa mini #いお(投稿日:2012/07/02 20:21, 履歴)
それと一番最初のこの返信してるコメントにちょっと言いますが
いろいろなものをセーブしたかったんです。
でもいちいちわければいいことが判明しました。
ロードできるのかがわからないっていうのは、
speak(loadGameData(key) ,"人だと思いますがどうですか")

だったので、ここはすいません。