TTSneoで行こう!

           

目次


【13:0】イベント内の条件分岐

  1. 名前:九龍 2007/12/10(月) 16:25:21

    イベント内での条件分岐などは工夫次第
    今回は、高速化や余分なリソースを使わなくスムーズに動かす方法を解説してみましょう。下の例題が完成ソースとなりますが、まずは下のソースをコピペしてTTSneoデザイナで実行してみて下さい。使い方は簡単。ボタンにマウスが乗ったら色を変える普通のソースなので、左側のボタン上でマウスを動かして動作を確認し、右側のリセットボタンを押して次は真ん中のボタン上でマウスを動かしてみて下さい。通常では目に見えないのですが、このように動作が目に見えるようにしてみるとどうでしょう?たかが色を変えるだけの処理ですが、マウスイベントで色を変える指定をしただけでは常に処理されているのが分かると思います。

    つまり、処理がされているという事は他の処理と重なったときには速度が落ちてしまいます。また、リソースも食ってしまいますよね。このようなマウスに乗った時のみしかいらない処理にはそれと同じ動きをするソースを記述する必要があるのです。殆どの場合は、このような処理を行わずにそのイベント内で直接色を変えるソースを記述しているのを良く見かけます。しかしこれは間違いを正そうとしているにすぎないのです。本当に動的に処理が必要な場合のみ通常のイベント処理を利用し、イベント内の処理を間接的に利用するのであれば、それに応じたソースを記述しましょう。

    説明するよりも、下の例題を実行してソースを見てもらえば分かると思いますが、どのような視点で見ればよいのかを簡単に説明します。コメントで一応記述していますが、最初の通常の部分と改良の部分の変数の数を見たり、手順内の通常の部分と改良の分を良く見て下さい。違いが分かりますよね?マウスフラグという変数がたった一つ増えているだけです。つまり、マウスイベントにてスイッチを付け足しているのです。ボタンの背景が通常の時と色が変わった時の処理の仕方を変えているだけなのです。スイッチが入ってなかったらスイッチをオンへ変えて、その逆だとスイッチをオフへとしているだけの違いです。このような工夫を少しするだけで高速化や余分なリソースを使わないように出来たりもしてしまいますので、今開発中のソースをもう一度見直してみましょう。


    ’通常の設定項目
    通常フラグは 0
    ’改良の設定項目
    改良フラグは 0
    マウスフラグは オフ

    固定ウィンドウ1を使う
      その中の大きさを(364,258)へ変えろ
      その名前を「イベント処理サンプル」へ変えろ
      その背景を&h8000000Fへ変えろ
      その種類を「固定」へ変えろ
      その最大化ボタンをオフへ変えろ
      その位置を中央へ変えろ
    文章テキスト1を作れ
      その位置と大きさを(10,40,340,210)へ変えろ
    ボタン1を作れ
      その位置と大きさを(10,10,130,25)へ変えろ
      その名前を「マウスを載せる(通常)」へ変えろ
    ボタン2を作れ
      その位置と大きさを(150,10,130,25)へ変えろ
      その名前を「マウスを載せる(改良)」へ変えろ
    ボタン3を作れ
      その位置と大きさを(290,10,65,25)へ変えろ
      その名前を「リセット」へ変えろ
    固定ウィンドウ1の表示をオンへ変えろ
    待機
    ’通常のマウスイベントにて背景を変える処理(処理速度低下&リソース食い)
    手順は 固定ウィンドウ1のボタン1でマウスが動く
      もし ボタン2の背景は 「&h8080C0」 なら ボタン2の背景を&h8000000Fに変えろ
      ここだけの変数は 結果
      通常フラグは 通常フラグ+1
      結果は 「通常イベントで[通常フラグ]回目のマウス反応キャッチ!」
      ボタン1の背景を&h8080C0へ変えろ
      文章テキスト1の内容を文章テキスト1の内容&「[結果][改行]」へ変えろ
    終わり
    ’ちょっとだけ工夫した背景を変える処理(処理速度高速化&無駄なリソースを使わない)
    手順は 固定ウィンドウ1のボタン2でマウスが動く
      もし ボタン1の背景は 「&h8080C0」 なら ボタン1の背景を&h8000000Fに変えろ
      もし マウスフラグは オフ なら
        ここだけの変数は 結果
        改良フラグは 改良フラグ+1
        結果は 「改良イベントで[改良フラグ]回目のマウス反応キャッチ!」
        ボタン2の背景を&h8080C0へ変えろ
        文章テキスト1の内容を文章テキスト1の内容&「[結果][改行]」へ変えろ
        マウスフラグは オン
      もし終わり
    終わり
    手順は 固定ウィンドウ1でマウスが動く
      リセット
    終わり
    手順は 固定ウィンドウ1の文章テキスト1でマウスが動く
      リセット
    終わり
    手順は リセット
      もし ボタン1の背景は 「&h8080C0」 なら ボタン1の背景を&h8000000Fに変えろ
      もし マウスフラグは オン なら
        もし ボタン2の背景は 「&h8080C0」 なら ボタン2の背景を&h8000000Fに変えろ
        マウスフラグは オフ
      もし終わり
    終わり
    手順は 固定ウィンドウ1のボタン3をクリック
      通常フラグは 0
      改良フラグは 0
      文章テキスト1の内容をクリア
      文章テキスト1に焦点
    終わり

コメントの投稿

送信:

【6:0】設定保存・復元

  1. 名前:九龍 2007/12/06(木) 11:56:03

    設定の保存と復元(INIファイル)
    ソフトウェア起動時に思う事といえば、最後の状態をそのまま次の起動時に適応出来れば良いのになどと思う事はないでしょうか?他には、画像など外部から呼び出す時に自分の環境ではキチンと表示出来ているけど、配布先でもキチンと表示できてるのか心配な時ってありますよね。しかし、このような事はINIファイルやレジストリなどを使えば情報を保存できたり復元できたりします。理由がない限りレジストリへの保存はお勧めできませんので、ここではINIファイルを取り扱う事にします。

    設定ファイルは 「○○.ini」

    上の○○の部分には、拡張子が「.ini」 のフルパス(推奨*1)を指定します。しかし、既に思うのがフルパスで指定すると他の人のパソコンと自分の環境が違うから駄目ではないかなどと思いますよね?その通りです。自分の環境のパスを指定しても他の人のパソコンでは全く同じルートとは限りません。そんな時に使用するのが、「今の位置」関数を利用します。「今の位置」とは、ソフトを起動した「.exe」のあるパスを返してくれる関数なのです。つまり、作成したソフトウェアの「.exe」のある場所までのルートをフルパスでこの関数の中に入っているのです。それなので、この関数を使う事で自分の環境だろうと相手の環境であろうと「.exe」のあるディレクトリを正確に知ることが出来ます。

    *1 相対パスなどでは知識がないと作業フォルダが変わった瞬間に読み込めなくなるおそれがあります。

    設定ファイルは 「[今の位置]test.ini」
    もし 設定ファイル "存在する" なら
      ’存在する時の処理
      変数 設定(設定ファイルの「キー名」の「項目名」)
    他なら
      ’存在しない時の処理
      設定ファイルの「キー名」の「項目名」に「値」を設定
    もし終わり

    基本的なINIファイルの取り扱いは上のようになります。良く見かけるのが、INIファイルがあるかないかを確認してないのが多いです。当然のことながら、存在しないファイルから設定を読み込もうとしても設定などはないのです。保存時には存在しない場合は自動で作成されますが、読込時には存在しないファイルは作成されないはずです。仮に出来たとしても、自分で決めたキー名、項目名、値などコンピュータに分かるはずもないのです。次は実際に使えるサンプルを載せてみます。

    設定ファイルは 「[今の位置]set.ini」
    もし 設定ファイル "存在する" でないなら
      ’INIが存在しない時、初回起動時の設定 ※削除されても自動で復元する。
      設定ファイルの「Img」の「Dir」に「[今の位置]ico\」を設定
      設定ファイルの「Window」の「Pos」に「中央」を設定
      設定ファイルの「Window」の「Size」に「640,480」を設定
    もし終わり
    もし 
    設定(設定ファイルの「Img」の「Dir」)は "存在する" でないなら
      
    「必要なイメージディレクトリが存在しません。終了します。」を警告で表示
      
    終了
    もし終わり
    ウィンドウ1使う
      そ大きさ設定(設定ファイルの「Window」の「Size」)に変えろ
      そ位置設定(設定ファイルの「Window」の「Pos」)に変えろ
    表示オン変えろ
    待機

    手順は ウィンドウ1を閉じる
      設定ファイルの「Window」の「Size」に「[ウィンドウ1の大きさ]」を設定
      設定ファイルの「Window」の「Pos」に「[ウィンドウ1の位置]」を設定
      終了
    終わり

    上のサンプルを実行するには、コピペしてTTSneoデザイナへ貼り付けて適当な所に保存して実行して下さい。そのまま実行すると、ログインディレクトリのドキュメント内へ設定ファイルが保存されます。それでは説明します。INIファイルは「set.ini」の名目で起動したディレクトリの中に作成されます。初回起動時には存在しないので、適当な値を設定してINIファイルを作成、キーなどを設定しています。キーとは、設定の読込や保存したいグループみたいな物です。項目名とはグループの中の「どれ」と同じような物です。値は実際に保存や読み込む内容の事です。

    設定ファイルの「Window」の「Size」に、「[ウィンドウ1の大きさ]」を設定とは、WindowというグループのSizeという項目に現在のウィンドウの大きさを保存します。という意味になります。同じグループ内には同じ項目名がダブってはいけない事に注意して下さい。このような意味なので、当然ながらウィンドウの大きさを読み込むには、「Window」の「Size」とすればその中の値が読み込まれます。設定ファイルの保存は、起動時に存在しなかった場合とウィンドウを閉じる時に設定ファイルへ再保存していますが、起動時の保存とウィンドウを閉じる際の保存とでは違う箇所があるのに注意してもらいたい。

    イメージフォルダの場所の保存は起動時のみ確認出来れば良いので、一度設定されていたら内容が変化しない物については再度保存し直す必要はないのです。例外として、そのイメージフォルダが移動した時の状態を設定し直す場合はそれらの処理を行った後に、その対象の部分のみを保存し直せば良いのである。つまり、設定に変化のある物のみ設定ファイルへ再保存すれば良いという事なのです。上のサンプルを実際に動かして、出来上がったINIファイルを開いてみる事で説明するよりも分かりやすいと思います。 ※ 「ico」というディレクトリを自分で作成しない限り、ダイアログが出て起動できないはずです。簡単な説明用に作った物であり、画像ディレクトリなどの確認はもう少し処理を工夫しないといけません。

    施主支給
    いつも気になる部屋の一部といえば、やはりトイレ周りではないでしょうか。トイレは人間の生活の上で欠かせない物です。しかし、そのトイレが汚れていると友達なども家に誘うのを拒んだりしますよね。掃除を少しでも怠ると見事なまでに汚れがこびり付いて落ちなくなりますよね。

    施主支給というサイトが気になったので紹介します。上でも述べた通りですが、トイレの汚れが気になるけど買い換えるのも恥ずかしいなどと思う方も居るのではないでしょうか。それもその通り、見事に汚れたトイレは変えるには勇気がいるのです。そうなる前に、これ以上汚れたら変える勇気がなくなるなどと思った時こそ、施主支給のサイトなどをご利用しては如何でしょうか?最大50%OFFは有り難いですよね。何と言っても半額なのですから。しかも、ネット上から買い物も出来ますし、9割は初めてネット上で買い物する人が多いみたいですから、初めてでもスタッフの対応が良く安心して買い物が出来るサイトだと思います。これを気にどうですか?

コメントの投稿

送信:

【2:0】レイアウト

  1. 名前:九龍 2007/12/05(水) 00:04:41

    レイアウトは工夫次第
    ソフトウェア作成に欠かせないのがレイアウトではないでしょうか。しかし、レイアウトと言ってもオブジェクトの設置をするだけだからなどと思ってはいけません。人間でもそうですが、見栄えは気になりますよね。そこで、ちょっと工夫しただけで見栄えが良くなるようなサンプルを載せておきます。他にも工夫次第では驚くようなレイアウトが実現できたりもします。今回のサンプルは低スペックのマシンではきついかも知れないので、固定ウィンドウ限定でのサンプルとなります。

    固定ウィンドウ1使う
      そ大きさを(414,288)へ変えろ
      そ名前を「ウィンドウ1」へ変えろ
      そ背景&h8000000F変えろ
      そ種類を「固定」へ変えろ
      そ最大化ボタンオフ変えろ
      それ白から&hC8C8FFで横グラデーション
      そ位置中央変えろ
    ピクチャー1作れ
      そ位置と大きさを(10,260,390,20)へ変えろ
      そ背景&h8000000F変えろ
      そオン変えろ
    文章テキスト1作れ
      そ位置と大きさを(10,10,390,240)へ変えろ
    メニュー 「ファイル(&F)」を作れ
    場所 ピクチャー1
    ラベル1作れ
      そ位置を(3、3)へ変えろ
      そ内容を「擬ステータスバー」へ変えろ
    場所 固定ウィンドウ1
    ピクチャー1位置と大きさを(0、固定ウィンドウ1の中の高さ-ピクチャー1の高さ、固定ウィンドウ1の中の幅、ピクチャー1の高さ)へ変えろ
    文章テキスト1位置と大きさを(5、5、固定ウィンドウ1の中の幅-10、固定ウィンドウ1の中の高さ-ピクチャー1の高さ−10)へ変えろ
    ピクチャー1白から&hC8C8FFで横グラデーション
    固定ウィンドウ1表示オン変えろ
    待機
    手順は 固定ウィンドウ1の文章テキスト1が変化
      もし 文章テキスト1行内容 「」 なら
        ラベル1内容を「」へ変えろ
        抜ける
      もし終わり
      ラベル1内容を「[文章テキスト1の行内容]を入力しました。」へ変えろ
    終わり  

    オンラインゲーム

    オンラインゲームも今では色々なサイトがありますよね。ガメジャンは実機海物語や麻雀、更にはカードゲームといった様々な無料オンラインゲームを設置しております。サイトも非常に見やすく、シンプルで綺麗に出来ている事から、登録からゲームで遊ぶまでの手順が簡単に行えるのが特徴です。ゲームにプラスしてアバターなどもあり、年齢層も幅広く充実したサイトとなっています。ガメジャンの画面も凄く綺麗で見やすい設計となっております。

    何と言っても、初心者にも優しい設定であり、対局して上がると雷が発生したり、役満でドラゴンが発生したりと面白い内容が盛りだくさんです。ちょっぴりドラゴンが気になる所ではありますが、まだ出した事がないのですよね。この際に登録してプレイしてみませんか? 登録は→ガメジャンより行えます。

コメントの投稿

送信:

無料ホームページ アフィリエイト レンタルサーバー FC2ブログ 一戸建て