フラッシュの課題No.84(スクリプトの勉強 Study17)

2020.10.26.07:00



 スクリプトの勉強の第十七弾です。

 ここでまここまさん達のデパートでの買い物

 シリーズは一旦終了とします。

 パノラマ画像のスクロール処理、キャラの移動

 とターゲット画像との接触処理、ドラッグアン

 ドドロップによる数値の計算処理等のJavaScript

 変換によるスクリプトについて述べてきました

 が、ご参考になられましたでしょうか?

 それでは最後にまここまさん達がご進物用に

 とらやさんで和菓子を購入して帰宅する様子

 をご覧下さい。



まここまさん達はコロナ禍の中久々の

デパートでのお買い物に満喫されました

でしょうか?

フラッシュの課題No.83(スクリプトの勉強 Study16)

2020.10.19.07:00



 スクリプトの勉強の第十六弾です。

 前回の和菓子の個別選択の改良版です。以前

 述べた事がありますが、和菓子を選択して電卓

 のばらした数値にドッキングさせる処理のスク

 リプトを研究し直しました。これならば任意の

 和菓子を選んでお望みの個数を指定すればその

 都度購入金額を計算処理してくれます。また

 一度選んだ個数でももう一度「買わない」を

 指定すると元に戻り、別の個数に選択し直す

 事が出来ます。この処理が5個目の和菓子を

 選ぶまでは何度でも指定し直す事が出来ます。

 今回は、和菓子の購入選択の場面だけを表示

 しました。

 一度トライしてみて下さい。



 今回のフラッシュのスクリプトはボタン

 アクションではなくて、クリップアクション

 でドラッグアンドドロップ処理をして遷移先

 のフレームアクションで購入金額の計算処理

 するものです。従って、フレームアクション

 でのスクリプトは前回と殆ど変わりません。

 そこで前半のクリップアクションの部分と

 「買わない」場合を選択した際のスクリプト

 を追加したフレームアクションについて

 以下に記述します。



 任意の和菓子を選択して電卓の数値に

 ドラッグアンドドロップするクリップ

 アクションです。



  on (press) {
    this.startDrag (true);
        this._xscale = 20;
        this._yscale = 20;
  }                      //移動する画像の縮小処理
  -
  on (release,releaseOutside) {
        this._x = 10;
        this._y = 50;
        this._xscale = 80;
        this._yscale = 80;
      this.stopDrag ();
  }                      //縮小画像を元に戻す
  -
  onClipEvent (mouseMove) {
    updateAfterEvent(mouse);
  }
  -
  onClipEvent(enterFrame) {
    if(this.hitTest(_root.dentaku.num00) == true) {
        this._x = 0;
        this._y = 400;
        _root.gotoAndPlay("買う10");
      this.stopDrag ();
    }

    if(this.hitTest(_root.dentaku.num01) == true) {
        this._x = 50;
        this._y = 400;
        _root.gotoAndPlay("買う11");
      this.stopDrag ();
    }

    if(this.hitTest(_root.dentaku.num02) == true) {
        this._x = 100;
        this._y = 400;
        _root.gotoAndPlay("買う12");
      this.stopDrag ();
    }

    if(this.hitTest(_root.dentaku.num03) == true) {
        this._x = 150;
        this._y = 400;
        _root.gotoAndPlay("買う13");
      this.stopDrag ();
    }

    if(this.hitTest(_root.dentaku.num04) == true) {
        this._x = 200;
        this._y = 400;
        _root.gotoAndPlay("買う14");
      this.stopDrag ();
    }

    if(this.hitTest(_root.dentaku.num05) == true) {
        this._x = 250;
        this._y = 400;
        _root.gotoAndPlay("買う15");
      this.stopDrag ();
    }

    if(this.hitTest(_root.dentaku.num06) == true) {
        this._x = 300;
        this._y = 400;
        _root.gotoAndPlay("買う16");
      this.stopDrag ();
    }

    if(this.hitTest(_root.dentaku.num07) == true) {
        this._x = 350;
        this._y = 400;
        _root.gotoAndPlay("買う17");
      this.stopDrag ();
    }

    if(this.hitTest(_root.dentaku.num08) == true) {
        this._x = 400;
        this._y = 400;
        _root.gotoAndPlay("買う18");
      this.stopDrag ();
    }

    if(this.hitTest(_root.dentaku.num09) == true) {
        this._x = 450;
        this._y = 400;
        _root.gotoAndPlay("買う19");
      this.stopDrag ();
    }                      //ここまで購入する個数の選択処理

    if(this.hitTest(_root.dentaku.kawanai) == true) {
        this._x = 500;
        this._y = 400;
        _root.gotoAndPlay("買わない10");
      this.stopDrag ();
    }                      //買わない場合の選択処理
  }






 前回とほぼ同じの計算処理のスクリプト

 に「買わない場合」から購入選択し直した

 場合の処理を追加したフレーム

 アクションです。



  if(a01 == 0){
    ko = 1;
    nedan = 248;  //最初の和菓子の個数と金額を取得

    a01 = 1;
    iru = iru + 1;
    kei = kei + 1;
    kau = iru;
    goukei = kei;
    kosuu = kosuu + ko;
    kakaku = ko * nedan;
    total = total + kakaku;
    ko01 = ko;
    kakaku01 = kakaku;
    shurui = kau;  //ここまでで合計個数と金額の計算処理

    suuryo = String(kosuu);
    kingaku = String(total);  //上記数値の文字列変換

    one = suuryo.substr(0,1);
    ten = suuryo.substr(1,1);

    man = kingaku.substr(0,1);
    sen = kingaku.substr(1,1);
    hyaku = kingaku.substr(2,1);
    juu = kingaku.substr(3,1);
    ichi = kingaku.substr(4,1);  //各桁の数値を取得

    trace("one" + "=" + one);
    trace("ten" + "=" + ten);
    trace("man" + "=" + man);
    trace("sen" + "=" + sen);
    trace("hyaku" + "=" + hyaku);
    trace("juu" + "=" + juu);
    trace("ichi" + "=" + ichi);

    trace("ko01" + "=" + ko01);
    trace("kakaku01" + "=" + kakaku01);
    trace("shurui" + "=" + shurui);
    trace("suuryo" + "=" + suuryo);
    trace("kingaku" + "=" + kingaku);  //変数処理確認

   }
       //ここから追加処理のスクリプト

  if(b01 == 1){
       b01 = 0;
       iranai = iranai - 1;
       kawanai = iranai;
       kei = kei - 1;
       goukei = kei;
   }

  if(kei < 5){
    gotoAndPlay("開始笹屋");
   }

  if(kei == 5){
    gotoAndPlay("購入終了");
   }







 次に「買わない」を選択した時の

 一旦購入した際の個数や金額の清算する

 為のフレームアクションです。




  if(b01 == 1){
       b01 = 0;
       iranai = iranai + 1;
       kawanai = iranai;
       kei = kei + 1;
       goukei = kei;
   }                     //買わない場合の個数処理

  if(a01 == 1){
    a01 = 0;
    iru = iru - 1;
    kei = kei - 1;
    kau = iru;
    goukei = kei;
    shurui = kau;       //前回個数を選んだ場合の減算処理

    kosuu = kosuu - ko01;
    total = total - kakaku01;  //変更した個数の再計算処理

    suuryo = String(kosuu);
    kingaku = String(total);  //上記数値の文字列変換

    one = suuryo.substr(0,1);
    ten = suuryo.substr(1,1);

    man = kingaku.substr(0,1);
    sen = kingaku.substr(1,1);
    hyaku = kingaku.substr(2,1);
    juu = kingaku.substr(3,1);
    ichi = kingaku.substr(4,1);  //各桁の数値を取得

    trace("one" + "=" + one);
    trace("ten" + "=" + ten);
    trace("man" + "=" + man);
    trace("sen" + "=" + sen);
    trace("hyaku" + "=" + hyaku);
    trace("juu" + "=" + juu);
    trace("ichi" + "=" + ichi);

    trace("ko01" + "=" + ko01);
    trace("kakaku01" + "=" + kakaku01);
    trace("shurui" + "=" + shurui);
    trace("suuryo" + "=" + suuryo);
    trace("kingaku" + "=" + kingaku);  //変数処理確認

   }
       //ここから追加処理のスクリプト

  if(kei < 5){
    gotoAndPlay("開始笹屋");
   }

  if(kei == 5){
    gotoAndPlay("購入終了");
   }







何度でも繰り返して個数を選択し直す

事が出来る和菓子の購入場面です。

トライしてみて下さい。

フラッシュの課題No.82(スクリプトの勉強 Study15)

2020.10.12.07:00



 スクリプトの勉強の第十五弾です。

 さて今回は前回のとらやさんでのお買い物に

 続き、まここま母さんのお望みの笹屋伊織さん

 でのスイーツ選びです。

 スクリプトの内容は前回とほとんど変わりま

 せん。ごゆっくりご覧下さい。



 それでは今回のフラッシュのスクリプトに

 ついてお話致します。

 実は和菓子を選んで買うか買わないかを決め

 てからその個数を選択するのに、個数のボタ

 ンアクションで個数と金額を取得して、後の

 フレームアクションでそれを参照して計算処理

 するスクリプトが通常では上手く行くのですが、

 これをJavaScript変換すると正常には処理して

 くれないのです。その為に和菓子を選んでは

 処理する過程が利用出来ません。そこで直接

 和菓子を指定してその個数を選択するボタン

 アクションでは個数と金額は取得せずに、その

 先のフレームアクションで取得して計算処理

 するように直したものです。従って5種類10

 個の選択があるので合計50個のボタンアク

 ションが必要だったのです。



 また、これにはもう一つ厄介な問題があり

 ました。それは個数と金額の変数に代入した

 数値を表示させる時に、通常では2桁以上

 の複数の桁数の数値でも、問題なく表示され

 ます。然しながら、これをJavaScript変換し

 て表示させても1桁の数値しか表示されない

 のです。そこで、kosuuやkingaku等の変数を

 一旦「suuryo = String(kosuu);」や

 「kingaku = String(total);」で文字列に変

 換してから以下の様に各桁の数値を取得する

 のです。

「one = suuryo.substr(0,1);」

「ten = suuryo.substr(1,1);」

「man = kingaku.substr(0,1);」

「sen = kingaku.substr(1,1);」

 以下のスクリプト文でご確認下さい。



 指定された和菓子の個数を選択して計算

 処理に移行するボタンアクションです。



  on(press){
        _root.gotoAndPlay("買う11");
  }






 次に選択された個数に基づいて計算処理

 するフレームアクションです。



  if(a01 == 0){
    ko = 1;
    nedan = 248;  //最初の和菓子の個数と金額を取得

    a01 = 1;
    iru = iru + 1;
    kei = kei + 1;
    kau = iru;
    goukei = kei;
    kosuu = kosuu + ko;
    kakaku = ko * nedan;
    total = total + kakaku;
    ko01 = ko;
    kakaku01 = kakaku;
    shurui = kau;  //ここまでで合計個数と金額の計算処理

    suuryo = String(kosuu);
    kingaku = String(total);  //上記数値の文字列変換

    one = suuryo.substr(0,1);
    ten = suuryo.substr(1,1);

    man = kingaku.substr(0,1);
    sen = kingaku.substr(1,1);
    hyaku = kingaku.substr(2,1);
    juu = kingaku.substr(3,1);
    ichi = kingaku.substr(4,1);  //各桁の数値を取得

    trace("one" + "=" + one);
    trace("ten" + "=" + ten);
    trace("man" + "=" + man);
    trace("sen" + "=" + sen);
    trace("hyaku" + "=" + hyaku);
    trace("juu" + "=" + juu);
    trace("ichi" + "=" + ichi);

    trace("ko01" + "=" + ko01);
    trace("kakaku01" + "=" + kakaku01);
    trace("shurui" + "=" + shurui);
    trace("suuryo" + "=" + suuryo);
    trace("kingaku" + "=" + kingaku);  //変数処理確認

   }

    gotoAndPlay("個数選択02");  //次の和菓子選択へ移行
  }






まここま母さんはお目当ての

笹屋伊織さんで美味しいスイーツ

を沢山買えて満足そうです。

フラッシュの課題No.81(スクリプトの勉強 Study14)

2020.10.05.07:00



 スクリプトの勉強の第十四弾です。

 いやー、今回はほとほと参りました。

 前回の試着する時のフラッシュでは洋服を選

 んでいいか悪いかの一回だけの判断処理だった

 ので上手くJavaScript変換出来たのです。

 然し、今回は和菓子を選んで買うか買わないか

 の判断をした後、買う場合はその個数と金額を

 取得するスクリプトを追加する二段階の認証

 手続きに挑戦したのです。このフラッシュを

 一週間かけて制作し、ParaFlaのプレビューでも

 確認し、そのswfファイルをweb上で直接開いて

 も正常にスクリプト処理が出来ました。

 そして、これをいざJavaScript変換してweb上で

 確認してみると、これが上手く行きません。

 途中まで正常に動くのですが、和菓子毎の個数と

 金額を上手く取得する事が出来ないのです。

 何とか試行錯誤して試してみたのですが、中々

 解決出来ず、とうとう九月が過ぎてしまいま

 した。



 仕方がないので、次に考えたのが和菓子を

 五個並べて更に電卓の数字ボタンをばらして

 個別に配置して、一つずつ和菓子を摘まんで

 は買う個数の数値にそれぞれ近づけてスクリ

 プト処理をすると云うものです。これならば

 一画面で一回の判断処理で済むのです。

 この方法でフラッシュを作成しプレビューで

 も確認してweb上でも正常に動作しました。

 然しながら、これもJavaScript変換してweb

 上で動かしても、個々の和菓子の購入個数と

 その金額を上手く取得する事が出来ませんで

 した。どうも、和菓子を同一画面上で選択して

 処理する事に不具合があるように思いました。



 そこで最終的に考えたのが、和菓子を一個

 ずつ指定しては買う個数を決めて、次の和菓子

 を指定してその個数を選択するよう順番に

 処理する事です。この考えを元にフラッシュ

 を作成し正常に動作確認しました。

 また、これをJavaScript変換してweb上で見て

 も上手くスクリプト処理が確認されました。

 これでは和菓子を自由に選んだり、買う個数を

 変更したり、買わない場合の処理などが出来ま

 せんが致し方ないことです。

 完成するまで二週間かかりましたが、もし宜し

 ければどうぞご覧下さい。



まここまさん達はとらやさんか

笹屋伊織さんのどちらのお店で

お買い物をしたでしょうか?

プロフィール

chappychan2

Author:chappychan2
FC2ブログへようこそ!

最新記事
最新コメント
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR