プログラム
2012年08月27日
【ActionScript】配列を保存したい
前回の○×ゲームでは使わなかったセーブ機能
HIGH and LOWで試していました
※ゲーム画面やコレクション画面からはEscでスタート画面に戻ります
内容は
・0~9の10枚の画像がある
・元の数字Aに対して、比較する対象Bの数字が高いか低いかを当てるゲームである
・A、Bにはそれぞれ数字に対応した画像が表示される
・答え合わせ時に正解だったらBの画像がコレクションに追加される
今思うと「Aの画像がコレクションされる」のほうがよかったんだけどまぁいいやw
コレクションされた数字を、ゲーム内で配列にフラグを立てて処理しました
cardChk[0] ~ cardChk[maxCard] だとして、
コレクションされたものは中に「1」をいれ、されていないものは「0」です
コレクションを開いた時にフラグをチェックして、フラグが立っていれば画像を表示します
…HIGH&LOWでしかも最大9ならセーブ機能なんていらないんだけどw
練習ね(´・ω・`)練習
~ローカルへの保存~
セーブファイル指定は簡単
save = SharedObject.getLocal("HandL");
//セーブファイル指定
読み出すのも簡単
if(_root.save.data.check == 1){
...}
↑セーブデータ内のcheckの内容が「1」だったら~とか
書き込むのも普通にできた
_root.save.data.check = 1;
と思ったら…
上に書いた配列が保存されない読み込まれない(´;ω;`)
とあるサイトでは
_root.save.data.XX=_root.XX.slice();
これで配列そのまま入れてくれるよ!とあったのだけれどダメでした
実際に保存されたファイルを探し出してテキストで開いてみると、check以外ない…w
ちなみに、むかーしやっていた VB だと配列は
「Dim hairetu(2) As Integer」
で、hairetu(0)~hairetu(2) まで作ってたけど、ActionScript だと
「_global.cardChk = new Array;」
で、終わりがない…@@;イイノコレデ?
とりあえず配列が保存できないならどうしようと小一時間悩み
cardChk 配列を全部つなげて文字列として保存すればいんじゃね!?…と。
toString() で配列を文字列として連結
_root.save.data.strcard = cardChk.toString();
読み出すときは split() を使ってばらばらに
cardChk = cardstr.split(",");
これで保存されたファイルを覗くと
「1,1,1,1,0,1,0,0,1,1」←これで一つの文字列 strcard として保存してる
やったー(*´∀`*)はいった読めた
という覚書ですた(´・ω・`)
HIGH and LOWで試していました
※ゲーム画面やコレクション画面からはEscでスタート画面に戻ります
内容は
・0~9の10枚の画像がある
・元の数字Aに対して、比較する対象Bの数字が高いか低いかを当てるゲームである
・A、Bにはそれぞれ数字に対応した画像が表示される
・答え合わせ時に正解だったらBの画像がコレクションに追加される
今思うと「Aの画像がコレクションされる」のほうがよかったんだけどまぁいいやw
コレクションされた数字を、ゲーム内で配列にフラグを立てて処理しました
cardChk[0] ~ cardChk[maxCard] だとして、
コレクションされたものは中に「1」をいれ、されていないものは「0」です
コレクションを開いた時にフラグをチェックして、フラグが立っていれば画像を表示します
…HIGH&LOWでしかも最大9ならセーブ機能なんていらないんだけどw
練習ね(´・ω・`)練習
~ローカルへの保存~
セーブファイル指定は簡単
save = SharedObject.getLocal("HandL");
//セーブファイル指定
読み出すのも簡単
if(_root.save.data.check == 1){
...}
↑セーブデータ内のcheckの内容が「1」だったら~とか
書き込むのも普通にできた
_root.save.data.check = 1;
と思ったら…
上に書いた配列が保存されない読み込まれない(´;ω;`)
とあるサイトでは
_root.save.data.XX=_root.XX.slice();
これで配列そのまま入れてくれるよ!とあったのだけれどダメでした
実際に保存されたファイルを探し出してテキストで開いてみると、check以外ない…w
ちなみに、むかーしやっていた VB だと配列は
「Dim hairetu(2) As Integer」
で、hairetu(0)~hairetu(2) まで作ってたけど、ActionScript だと
「_global.cardChk = new Array;」
で、終わりがない…@@;イイノコレデ?
とりあえず配列が保存できないならどうしようと小一時間悩み
cardChk 配列を全部つなげて文字列として保存すればいんじゃね!?…と。
toString() で配列を文字列として連結
_root.save.data.strcard = cardChk.toString();
読み出すときは split() を使ってばらばらに
cardChk = cardstr.split(",");
これで保存されたファイルを覗くと
「1,1,1,1,0,1,0,0,1,1」←これで一つの文字列 strcard として保存してる
やったー(*´∀`*)はいった読めた
という覚書ですた(´・ω・`)
2012年08月25日
○×ゲーム完成したった(*・∀・*)
適当に触ってたらでけたー
みてみる
使用したのは suzuka 。
ActionScript は初めてだったけど楽しかった(*´ω`*)
子供がポチポチクリックして
「かったー!」「あいこー?」と楽しんでくれてまする(*´∀`*)
あと HIGH and LOW も作ってたんだけど見た目がひどいので未公開…
自動で並べたりとか判定させたりは難しくなかったんだけど
テキストの使い方が…(そこかよ!
イメージだと main_txt とかテキストフィールド用意したら
main_txt.text = "あいうえお!" ;
とかで「あいうえお!」が表示されると思うじゃん…
最初から「あいうえお!」を「初期表示テキスト」に入れておかないと表示されてくれなくて
処理中に同じフィールドを使いまわして「かきくけこ!」って表示させるとしたら
最初から「あいうえおかきくけこ!」を入れておかないといけない
…っていうことが、とある説明サイトに載ってたんだけど。
(そのサイト、必要なテキスト全部一つ一つフィールド用意していた…w)
でも、実際はそんなことなかったw
問題は下の緑枠(´・ω・`)
「_」(アンダースコア)のついているフォントでなら
初期表示テキストなく文字列を代入できた
これに気づくまで延々と悩んでいたよ。・゚・(ノД`)・゚・。
でもお気に入りの飾り文字とか使いたいなら用意するしかないのかな~
ちょっと不便ね…
あ、
「たびこい」(47都道府県を舞台にしたVIP製作エロゲ)と
「輝く夏宙ランナー!」(VIP製作ギャルゲ)はまだできてないんだけど
「ようじょやきうけん」がさっさと標準版だけリリースされてたwwwww
締め切り3時間前に企画に気づいて急遽参入して1キャラだけ投下したw
※一部18禁内容なので注意
声入ったVerは細々製作中…みたい?です
みてみる
使用したのは suzuka 。
ActionScript は初めてだったけど楽しかった(*´ω`*)
子供がポチポチクリックして
「かったー!」「あいこー?」と楽しんでくれてまする(*´∀`*)
あと HIGH and LOW も作ってたんだけど見た目がひどいので未公開…
自動で並べたりとか判定させたりは難しくなかったんだけど
テキストの使い方が…(そこかよ!
イメージだと main_txt とかテキストフィールド用意したら
main_txt.text = "あいうえお!" ;
とかで「あいうえお!」が表示されると思うじゃん…
最初から「あいうえお!」を「初期表示テキスト」に入れておかないと表示されてくれなくて
処理中に同じフィールドを使いまわして「かきくけこ!」って表示させるとしたら
最初から「あいうえおかきくけこ!」を入れておかないといけない
…っていうことが、とある説明サイトに載ってたんだけど。
(そのサイト、必要なテキスト全部一つ一つフィールド用意していた…w)
でも、実際はそんなことなかったw
問題は下の緑枠(´・ω・`)
「_」(アンダースコア)のついているフォントでなら
初期表示テキストなく文字列を代入できた
これに気づくまで延々と悩んでいたよ。・゚・(ノД`)・゚・。
でもお気に入りの飾り文字とか使いたいなら用意するしかないのかな~
ちょっと不便ね…
あ、
「たびこい」(47都道府県を舞台にしたVIP製作エロゲ)と
「輝く夏宙ランナー!」(VIP製作ギャルゲ)はまだできてないんだけど
「ようじょやきうけん」がさっさと標準版だけリリースされてたwwwww
締め切り3時間前に企画に気づいて急遽参入して1キャラだけ投下したw
※一部18禁内容なので注意
声入ったVerは細々製作中…みたい?です