ExcelVBAゲームプログラミング?

初心者でもきっとできる!
Excelさえ持っていれば特別なソフトは不要!
すぐにでも始められる簡単ゲームプログラミング!
今すぐ始めよう!

サンプルやゲームのダウンロードができる別館も好評運営中です。
ご意見やご質問、ゲームの感想等は掲示板までお気軽に。是非、皆さんの声を聞かせてください。運営、開発の励みになります。



各種ダウンロードはコチラ ↓ 意見・感想・質問はコチラ ↓
影倉庫 Shadow warehouse サポート掲示板
ブログの全体像はコチラ ↓ リンクのページはコチラ ↓
サイトマップ 自分本位なリンク


スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。






Chapter.97 [ クリックゲーム2:画面設計 ]

■ゲームに使用する画像

前回は、クリックに関連するイベントや、作成するクリックゲームの仕様などについて解説しました。今回の講座では、クリックゲームの画面の設計を一気にやってしまいましょう。

クリックゲームに使用するのは、以下の画像3種類です。

bug01.gifbug02.gifhit.gif


ハエ用の画像は2種類。これは、ゲームの最中に、ハエが羽ばたいているように見せるためです。こういった小さな違いでも、連続的に表示を切り替えてアニメーションさせると、意外と効果は大きいです。
ヒットマークは、そのままの意味として使います。ハエをクリックして駆除する際に、このオレンジのヒットマークを使って表現します。

今回の画像は、画像形式がGIF形式。背景は透過処理してあります。


■画面設計

今回のクリックゲームの、基盤となるフォーム部分の設計を行いましょう。基本的には難しいことはありませんので、ひとつひとつ、ゆっくりとやっていけば大丈夫です。

まずは、ユーザーフォームをひとつ挿入し、フレームオブジェクトをひとつ配置します。

550.gif

フレームオブジェクトが配置できたら、各種プロパティを変更していきます。変更するプロパティは以下の4つです。

・BackColorプロパティ
    背景色を白に変更
・Captionプロパティ
    規定値の『Frame1』というキャプションを消す
・Widthプロパティ
    幅は300に設定
・Heightプロパティ
    高さは200に設定

このようにプロパティの変更を行うと、以下の画像のようになるはずです。ユーザーフォーム自体の大きさは、まだ適当でも大丈夫です。

551.gif

次にイメージコントロールを配置していきます。これはキャラクターの表示、ヒットマークの表示に使います。配置する際の雰囲気としては、以下のような感じになります。ここでポイントとなるのは、イメージコントロールの全てで、しっかりとオブジェクト名を変更しておくことです。
オブジェクト名は、既定では『コントロールの種類+連番』という形で名前がつけられています。このままではあとあと面倒になるので、目的や意味がわかりやすい名前をつけておきましょう。

552.gif

ちなみに、ここで配置したイメージコントロールの全ては、Width・Heightの両プロパティが18になっています。これは、元画像の横幅が24ピクセルであることが由来です。そして、背景色の透過処理を有効にするため、BackStyleプロパティにfmBackStyleTransparentが設定されています。


■アニメーション用の雛形を配置

さて、次にアニメーション処理に使用する、雛形となるイメージコントロールを配置します。このイメージコントロールは、画像データの雛形として使われるので、実際にゲーム中には一度も画面内に出てきません。あくまでも、画像データの雛形として使うために、画面の外側に配置します。

553.gif

■ゲーム開始用のボタンを配置

最後に、ゲームを開始するために使用するコマンドボタンを配置します。
ここで配置したコマンドボタンが押されると同時に、ゲームが開始されるようにします。

554.gif

■まとめ

今回の分で、クリックゲームの基礎的な部分のうち約8割が完成したと言っていいでしょう。クリックで駆除するハエや、ヒットマークが配置できたのでベース部分はOKです。

次回は、クリックゲームの肝となる、透明レイヤー処理について取り上げたいと思います。まずは今回の講座の内容にのっとって、しっかりとベース部分を固めておいてください。


■格言

各種コントロールの準備をする
名前も変更しておく



基礎部分だけですが、しっかり準備しておきましょう。


スポンサーサイト






Chapter.98 [ クリックゲーム3:クリック座標検知 ]

■クリックゲームに必要なコントロール

前回はクリックゲームに使用する各種コントロールの配置を行いました。ただし、前回配置したコントロールで、全ての準備が整ったわけではありません。実は、今回のクリックゲームにとって一番大切なコントロールが、まだ配置されていない状態です。


クリックゲーム1でも少し触れましたが、クリックを検知する方法にはいくつか種類があります。

ひとつ目は、クリックイベントを使う方法。単純にクリックされた瞬間に処理を行いたいだけなら、クリックイベントを使うのが最も一般的です。

ふたつ目は、マウスダウンイベントを使う方法。こちらの場合、クリックされた瞬間に、どのボタンがクリックされたのか(左クリックか右クリックか)まで詳細に知ることができます。また、シフトキーなどが同時に押されていたかどうかも調べることができ、クリックイベントよりも細かな情報を取得することができます。

みっつ目は、Windows API を利用する方法です。この方法を使うには API の宣言などが必要になりますので、少し敷居が高くなります。


今回のクリックゲームでは、2番目に登場した『マウスダウンイベント』を利用してクリックを検知します。なぜマウスダウンイベントを使うのか、それには、キチンと理由があります。

マウスダウンイベントは、クリックされた瞬間の、そのクリック座標を調べることができるイベントです。今回のクリックゲームにおいては、このクリック座標の取得こそが最も重要になります。ハエをクリックで駆除していくわけですから、クリックされた座標がわからなくては正しく処理できませんものね。

そして、クリック座標を正しく取得するために、今回新たにコントロールをひとつ追加します。追加するコントロールは『ラベル』です。ここで配置するラベルを用いて、クリックの検知と、クリック座標の取得を行います。とりあえず、深いことは考えずに、以下で示した手順どおりに、ラベルコントロールを配置してみてください。

560.gif

    ▼

561.gif

    ▼

562.gif563.gif

    ▼

569+.gif

これで準備は完了です。


■透明ラベルの考え方

さて、なぜフレームコントロールの中に、透明なラベルコントロールを配置したのでしょうか。勘のいい人なら、おおよその見当はついていると思います。

今回配置したラベルコントロールは、背景を透過するように設定しているため、実際にゲームを行っている最中には、そこにラベルがあることをプレイヤーが意識することは無いでしょう。しかし、フレームの中には、見えないラベルコントロールが確かに存在しています。
プレイヤーが、登場したハエを駆除しようとしてクリックした瞬間、それを検知するのはハエの画像を読み込ませたイメージコントロールではありません。先ほど配置したラベルコントロールが、クリックを受け取ります。これは、以下の画像を見てもらえれば、なんとなくわかりますよね。最前面にラベルがあるため、クリックを検知するのは必ずラベルになるわけです。

569.gif

ユーザーフォーム上のコントロールは、『 ZOrder (ゼットオーダー) 』とよばれる概念を持っています。これは、要するにコントロールの奥行きのことで、全てのコントロールに必ず備わっているものです。

ユーザーフォーム上のコントロールは、新しく配置されたものほど手前にくるようになっています。ですから、一番最初に配置したコントロールの上に、二番目に配置したコントロールを重ねると、一番最初に配置したほうは隠れてしまいます。

564.gif

    ▼

565.gif

Z オーダーを変更するには、Z オーダーを変更したいコントロールの上で右クリックし、表示されるコンテキストメニューから変更します。

566.gif

もしくは、VBE のメニューの中から、『書式』⇒『順序』とたどることでも設定可能です。

567.gif

前回、ユーザーフォーム上に配置したコントロールよりも、今回配置したラベルコントロールのほうが、Z オーダーが手前になっています。一番最後にラベルを配置したので、自然とそうなるわけですね。
ラベルが一番手前にあるからこそ、このラベルで一括してクリック検知を行うことができます。ですから、例えばコントロールを追加する場合には注意が必要で、キチンと Z オーダーを意識して設定しないと、動作がおかしくなることがあります。

今回の場合を例にとると、例えば、ハエを20匹に増やしたいと考えた場合に注意が必要ですね。新しくイメージコントロールを追加すると、当然、そのイメージコントロールは、クリック検知用の透明ラベルよりも手前に配置されます。もしそれをそのままで放っておくと、クリック検知を正しく行うことができなくなります。
追加したイメージコントロールのほうが手前にあるので、クリックを吸収されてしまうからですね。イメージコントロールを最背面へ移動させるか、クリック検知用の透明ラベルを最前面に移動させるか、いずれかを行っておく必要があります。


■ちょっとテストしてみる

さて、少し長くなってますが、簡単なテストをやってみて今回の講座を終わりにしましょう。

先ほど配置した、透明なラベルのマウスダウンイベントを記述して、動作テストをしてみます。フォームモジュールに、次のようなコードを書いておき、その上でフォームを起動させて実際にクリックしてみてください。

Private Sub Lab_trans_MouseDown(ByVal Button As Integer, _
                        ByVal Shift As Integer, _
                        ByVal X As Single, _
                        ByVal Y As Single)

   MsgBox "X座標:" & X & vbCr & "Y座標:" & Y
   
End Sub


クリックしている座標がメッセージとして表示されれば成功です。

568.gif

今回のクリック検知サンプルを別館にアップしておきます。
実際に動作するところを確認しながら、透明ラベルがどのような役割を果たしているのか、よく理解しておいてください。


サンプルダウンロード ⇒ コチラよりダウンロードできます。(別館)



■格言

透明ラベルで一括クリック検知
Z オーダーに気をつける



私の自作ゲームでも、同様の手法によってクリックを検知しているものがあります。








Chapter.99 [ クリックゲーム4:キャラクター準備 ]

■下準備する

前回は、透明ラベルを使って、クリックされた座標を検知する方法について解説しました。Z オーダーなど、初めて登場する概念もありましたね。
透明ラベルとマウスダウンイベントを併用すると、クリックされた瞬間の座標がわかります。今回のクリックゲームでは、こうして得られたクリック座標と、動き回るキャラクターの座標を見比べながら処理していくことになります。

ユーザーフォームの準備は、前回の内容でほとんど完成しました。今回は、キャラクターを管理する変数などの準備、そして、それらの初期化処理ルーチンを作成しましょう。

さて、まずは必要となる構造体や変数を定義します。
標準モジュールをひとつ挿入し、変数などを記述していきます。

Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMillsecounds As Long)

Type BUG '①ハエ用構造体
    X    As Single
    Y    As Single
    W    As Single
    H    As Single
    Type As Long
    Pict As Boolean
    Life As Boolean
End Type

Type HIT '②ヒットマーク用構造体
    X    As Single
    Y    As Single
    W    As Single
    H    As Single
    Var  As Long
    Vis  As Boolean
End Type

Public Fly(9) As BUG
Public Hits   As HIT
Public Score  As Long 'スコア
Public Level  As Long 'レベル
Public Away   As Long '逃がしたハエの数


今回使用する API は、Sleep 関数のみです。モジュールの先頭に、 Declare ステートメントを使って Sleep 関数を宣言しておきます。

次に構造体の定義です。
①は、ハエというキャラクターを定義する構造体です。この構造体に含まれる要素は、X, Y が縦横の座標情報、W, H がキャラクターの大きさ(縦幅・横幅)、キャラクターのタイプを表す Type 、キャラクターの画像をアニメーションさせるための Pict 、キャラクター生存しているのかどうかを表す Life 、合計 7 つの要素になります。

②は、ヒットマークを表示するための構造体です。
ハエの構造体と同じように、座標や大きさの情報がありますね。それ以外の部分では、ヒットマークが一定時間経過したら消えるようにするために使う Var 、そしてヒットマークが見えているかどうかを表す Vis があります。

構造体の宣言ができたら、次は変数を定義しましょう。

Fly(9) は、先ほど定義したハエ用の構造体を使って、合計10個の要素を持つ配列を宣言している部分です。これが、ユーザーフォーム上に配置した10匹のハエを管理します。

同様に、Hits はヒットマーク管理のために構造体を使って宣言されていますね。ヒットマークはひとつしかありませんので、配列にする必要はありません。

その他、スコア用変数、レベル管理用変数、逃げたハエの数を管理する変数などを宣言して、これで変数の準備は完了です。
ここで宣言した変数は、いずれも Public を使って宣言されています。つまり、どのプロシージャからでも呼び出せるグローバルな変数ということになります。


■初期化処理を作る

講座の中で以前から何度も言ってますが、初期化処理は非常に大事です。
開発段階では、毎回細かな調整を行うため、ユーザーフォームを起動しては消し、起動しては消し、となることが多いですよね。ですが、実際にゲームをプレイするユーザーは、大抵ゲーム画面を消さずに、続けて何度もスタートボタンを押したりします。
初期化処理をきちんと行っていないゲームの場合、2回目以降のプレイに支障がでる可能性が高くなります。なんどリスタートしても大丈夫なように、初期化処理をしっかり作っておくことが重要です。

今回のクリックゲームでは、ハエ用の構造体変数などを初期化し、同時にユーザーフォーム上のイメージコントロールも非表示にします。もし、最初のゲームプレイ時に画面上にハエが残ってしまっていても、最初に非表示にするようになっていれば、次のプレイ時にも正しく処理が行われるようになりますよね。

Sub Init()

    Dim L As Long
    
    For L = 0 To 9
        With Fly(L)
            .X = 0
            .Y = 0
            .W = 18
            .H = 18
            .Type = 0
            .Pict = False
            .Life = False
        End With
        With UserForm1.Controls("Ima_fly" & L)
            .Visible = False
        End With
    Next
    
    With Hits
        .X = 0
        .Y = 0
        .W = 18
        .H = 18
        .Var = 0
        .Vis = False
        UserForm1.Ima_hit.Visible = False
    End With
    
    Score = 0
    Level = 0
    Away = 0
    
End Sub


上記のコードが、初期化を行っているプロシージャです。初期化用のプロシージャなので、名前は Init としました。
このプロシージャが呼び出されると、全てのグローバルな変数が初期化され、同時にユーザーフォーム上のハエとヒットマークが全て非表示になります。ゲームが始まる前にこのプロシージャを呼び出すことによって、毎回同じようにゲームがスタートできるようになるのですね。


■まとめ

さて、どうでしょうか。初期化処理を実装できたでしょうか。
大事なことは、初期化処理をしっかりと実装することで、毎回全く同じ環境でゲームがスタートされるようにすることです。特に、ユーザーフォーム上のコントロールを非表示にする部分など、うっかり忘れてしまうことが多いので注意が必要です。

自分がテストする段階でも、何度も繰り返しテストすることが重要になります。実際にゲームをプレイするユーザーの視点に立って、地道にテストすることが大切です。


■格言

構造体を使って効率的に変数を宣言
初期化はしっかりと綿密に



ユーザーの視点に立つというのは、簡単そうで難しいです。







Chapter.100 [ クリックゲーム5:キャラクターの配置 ]

■まずはご挨拶

さて、当講座もめでたく100回目を迎えました。
これもひとえに、普段よりこのブログにきてくださる皆さんのおかげです。本当に、ありがとうございます。これからも、有益な情報を提供できるように、がんばっていきたいと思っています。

さて、クリックゲームの第5回目となる今回は、クリックして駆除するハエの登場について扱いたいと思います。今回のゲームの場合、登場したハエを逃がしてしまうとミスとなります。もし、登場する確率が高すぎるととても難しいゲームになってしまいます。うまく難易度を調節できるように、ハエの登場処理を実装しましょう。


■クリックゲームの全体構造

今回のクリックゲームは、最終的に次のような構造になります。

570.gif

これを見ると、ゲームが開始されてから、常にひとつのループ処理が回り続けていることがわかりますね。このような根本的なループ処理をメインループといいます。今回のクリックゲームも、メインループを使った処理を基本にして作成します。

メインループからは、ハエの配置を行う処理や、ヒットマークに関する処理などが必要に応じて呼び出されます。今回の講座で作成するのは『ハエの配置を行う処理』ということになります。

ちなみに、今回のゲームのメインループでは、およそ 0.03 秒で1回ループするようにする予定です。


■ハエが登場する確率

どんなゲームでも、難易度がずっと変わらないのではつまらないですよね。今回のクリックゲームも、長く続けるほど難易度が上がるように設計します。

難易度は、変数 Level で管理します。
この変数に大きな数字が入っているほど、ゲームが難しくなるようにするわけです。ハエが登場する確率も、この変数 Level の値によって変動するように設計します。

とりあえず、ハエの登場に関する処理を担当するプロシージャのコードを見てみましょう。

Sub Flys_Begin()

    Dim L As Long
    Dim LL As Long
    Dim sX As Single
    Dim sY As Single
    
    Randomize
    
    L = (Level + 5) * 0.2 '①レベルを元に係数を算出
    LL = Int(Rnd * 100) '②乱数使って 0 ~ 99 の値をランダムに取得
    
    If L >= LL Then '③係数と乱数を比較する
        For L = 0 To 9
            With Fly(L)
                If Not .Life Then
                    LL = Int(Rnd * 4)
                    Select Case LL
                        Case 0
                            sX = Rnd * 250 + 25
                            sY = -18
                        Case 1
                            sX = Rnd * 250 + 25
                            sY = 218
                        Case 2
                            sX = -18
                            sY = Rnd * 150 + 25
                        Case 3
                            sX = 318
                            sY = Rnd * 150 + 25
                    End Select
                    .X = sX
                    .Y = sY
                    .Type = LL
                    .Pict = False
                    .Life = True
                    With UserForm1.Controls("Ima_fly" & L)
                        .Visible = True
                    End With
                    Exit For '④一度出現させたら繰り返し処理を抜ける
                End If
            End With

        Next
    End If
    
End Sub


ちょっと長いプロシージャですが、ひとつひとつ見ていきましょう。

まず、①の部分です。ここでは、変数 Level に入っている値を元に、出現係数を算出しています。この出現係数は、変数 Level が仮に 0 だった場合には 1 になります。ゲームをプレイし続けレベルが上がってくると係数も変化します。仮に変数 Level が 10 だった場合には 3 が係数として得られますね。

次に②です。ここでは乱数を用いて、係数と比較する値を取得しています。ここは乱数なので、毎回得られる値が異なります。

さて、①と②で、ふたつの数値が取得できました。③では、このふたつの値を比較しています。もし、出現係数(今回の場合は変数 L )よりも乱数から得られた数値(今回の場合は変数 LL )のほうが小さいか同じの場合だけ、その次の処理に進みます。

ちょっと紛らわしいですが、落ち着いて考えてみてくださいね。乱数で得られる数値は、0 ~ 99 の間でランダムに決まります。これがポイントです。レベルが高くなるほど、出現係数の数値は大きくなりますので、乱数が出現係数以下になる可能性は、レベルが高くなるほど比例して高くなるのですね。


さて、係数と乱数との比較を終え、ハエが出現することになった場合の処理が、黄色い文字で書かれている部分です。ここでも、乱数を使っていますね。
ここでの乱数の使い道は、登場するハエのタイプを決めることです。今回のクリックゲームでは、登場するハエが4種類あります。上から登場するハエ、下から登場するハエ、同様に左からと右からで、合計4種類ですね。ハエがどこから登場するのかをランダムにするために、乱数を使っているわけです。

登場する方向の種類によって、配置される座標が変わるようになっています。

さて、最後に④の部分です。ここでは、繰り返し処理から抜けるようになっています。このプロシージャが呼び出されたときに、複数のハエが配置されないようにするための処置です。これをやっておかないと、一度に全てのハエが配置されてしまいますので注意しましょう。


■まとめ

さて、少し長くなりましたが、どうでしょうか。

結局のところ、このプロシージャだけを見てもよくわからない、という感じではないでしょうか。ゲームの作成では、処理の形態ごとに個別のプロシージャを用意し、必要なときに呼び出すようにすることが大事です。今回の場合は、ハエの登場という部分だけを、切り離してプロシージャ化したわけですね。

ゲームの全体像がもう少し明確になってくると、このハエの配置を行うプロシージャの意味がよくわかると思います。とりあえず今回の講座で大切なことは、乱数を用いて確率を操作する部分でしょう。ここは自分なりにアレンジすることで、自由に確率を変動させることができます。工夫してオリジナルなルーチンを組んでみるのもいいでしょう。

次回は、ハエを動かすプロシージャについて解説する予定です。お楽しみに。


■格言

乱数を用いて確率を操る
メインループから呼び出されることを前提に考える



乱数は活用の仕方によって様々な効果を生み出します。








メールフォーム

影斬に物申すという方はこちら

名前 :
メール:
件名 :
本文 :

可能な限り要望には応えますが、必ず返信や回答ができることを、保障するものではありません。
ご了承ください。

Chapters

コンテンツ一覧


■Chapter 一覧■
    全てのChapterの一覧です。
    直接アクセスしたい方はこちらをご利用下さい。

    Chapter.1 [ 知っておくべき心得 ]
    Chapter.2 [ Excelってなんだろう ]
    Chapter.3 [ Excelの基本画面 ]
    Chapter.4 [ VBAとは? ]
    Chapter.5 [ モジュールについて ]
    Chapter.6 [ 変数 ]
    Chapter.7 [ 変数の型と宣言 ]
    Chapter.8 [ プロシージャとスコープ ]
    Chapter.9 [ ゲームつくる様々な手法 ]
    Chapter.10 [ ユーザーフォーム ]
    Chapter.11 [ プロパティウィンドウ ]
    Chapter.12 [ 乱数 ]
    Chapter.13 [ 条件分岐 ]
    Chapter.14 [ ゲーム画面のデザイン ]
    Chapter.15 [ コード記述の基本作法 ]
    Chapter.16 [ じゃんけんゲーム:1 名前をつける ]
    Chapter.17 [ じゃんけんゲーム:2 フォームの起動 ]
    Chapter.18 [ じゃんけんゲーム:3 乱数の種 ]
    Chapter.19 [ じゃんけんゲーム:4 イベント ]
    Chapter.20 [ じゃんけんゲーム:5 引数 ]
    Chapter.21 [ じゃんけんゲーム:6 役判定 ]
    Chapter.22 [ じゃんけんゲーム:7 予測と制限 ]
    Chapter.23 [ Withステートメント ]
    Chapter.24 [ 画像を表示させる ]
    Chapter.25 [ 画像表示の発展形 ]
    Chapter.26 [ 繰り返し処理 For文 ]
    Chapter.27 [ 繰り返し処理 Do~Loop文 ]
    Chapter.28 [ Exitステートメント ]
    Chapter.29 [ フォーム上の位置情報 ]
    Chapter.30 [ API基礎知識 ]
    Chapter.31 [ API補足知識 ]
    Chapter.32 [ メインループを考える ]
    Chapter.33 [ 同期処理の概念 ]
    Chapter.34 [ 移動処理その1:画面設定と考え方 ]
    Chapter.35 [ 移動処理その2:DoEvents ]
    Chapter.36 [ 移動処理その3:キー入力判定API ]
    Chapter.37 [ 条件分岐のさらなる探求 Select Case ]
    Chapter.38 [ アニメーション ]
    Chapter.39 [ 配列変数 ]
    Chapter.40 [ ゲームの初期化 ]
    Chapter.41 [ シューティングゲーム1:ゲーム設計 ]
    Chapter.42 [ シューティングゲーム2:メインプロセス ]
    Chapter.43 [ シューティングゲーム3:構造体 ]
    Chapter.44 [ シューティングゲーム4:定数 ]
    Chapter.45 [ シューティングゲーム5:プレイヤーキャラクター ]
    Chapter.46 [ シューティングゲーム6:ショットを撃つ① ]
    Chapter.47 [ シューティングゲーム7:ショットを撃つ② ]
    Chapter.48 [ シューティングゲーム8:Mod演算子の活用 ]
    Chapter.49 [ シューティングゲーム9:敵キャラクター登場 ]
    Chapter.50 [ シューティングゲーム10:衝突判定 ]
    Chapter.51 [ シューティングゲーム11:衝突の実体 ]
    Chapter.52 [ シューティングゲーム12:敵の攻撃 ]
    Chapter.53 [ シューティングゲーム13:爆発エフェクト ]
    Chapter.54 [ シューティングゲーム14:残機数表示① ]
    Chapter.55 [ シューティングゲーム15:残機数表示② ]
    Chapter.56 [ シューティングゲーム16:スコアの表示 ]
    Chapter.57 [ シューティングゲーム17:タイトル画面 ]
    Chapter.58 [ シューティングゲーム18:ボスキャラクター ]
    Chapter.59 [ シューティングゲーム19:最後の仕上げへ ]
    Chapter.60 [ シューティングゲーム20:いよいよ完成STG ]
    Chapter.61 [ カードゲームで使えるめくり効果 ]
    Chapter.62 [ ラジアンと角度 ]
    Chapter.63 [ ラジアンの活用:円運動 ]
    Chapter.64 [ ラジアンの活用:任意の角度へ移動する ]
    Chapter.65 [ APIによるサウンド再生:基礎 ]
    Chapter.66 [ APIによるサウンド再生:MIDIと多重再生 ]
    Chapter.67 [ APIによるサウンド再生:MCIコマンドとループ再生 ]
    Chapter.68 [ Function プロシージャ ]
    Chapter.69 [ 値渡しと参照渡し ]
    Chapter.70 [ デバッグ1:イミディエイトウィンドウ ]
    Chapter.71 [ デバッグ2:ローカルウィンドウ ]
    Chapter.72 [ デバッグ3:コード実行の中断 ]
    Chapter.73 [ オブジェクトってなんだ ]
    Chapter.74 [ プロパティ・メソッド・イベント ]
    Chapter.75 [ オブジェクト変数 ]
    Chapter.76 [ オブジェクトとコレクション ]
    Chapter.77 [ 特殊な繰り返し:For Each ]
    Chapter.78 [ エラー処理 ]
    Chapter.79 [ On Error と GoTo文 ]
    Chapter.80 [ Resumeステートメント ]
    Chapter.81 [ バイトとビット ]
    Chapter.82 [ ウィンドウメッセージとイベント ]
    Chapter.83 [ 文字列の基礎 ]
    Chapter.84 [ 文字列操作① ]
    Chapter.85 [ 文字列操作② ]
    Chapter.86 [ タイピングゲーム1:仕様を決める ]
    Chapter.87 [ タイピングゲーム2:キー入力検知 ]
    Chapter.88 [ タイピングゲーム3:文字列照合 ]
    Chapter.89 [ タイピングゲーム4:判定関数 ]
    Chapter.90 [ タイピングゲーム5:ゲーム画面設計 ]
    Chapter.91 [ タイピングゲーム6:問題文のソート ]
    Chapter.92 [ タイピングゲーム7:動的配列 ]
    Chapter.93 [ タイピングゲーム8:キーダウンイベント ]
    Chapter.94 [ タイピングゲーム9:正打数の表示 ]
    Chapter.95 [ タイピングゲーム10:タイムの表示 ]
    Chapter.96 [ クリックゲーム1:イベントの種類 ]
    Chapter.97 [ クリックゲーム2:画面設計 ]
    Chapter.98 [ クリックゲーム3:クリック座標検知 ]
    Chapter.99 [ クリックゲーム4:キャラクター準備 ]
    Chapter.100 [ クリックゲーム5:キャラクターの配置 ]
    Chapter.101 [ クリックゲーム6:キャラクター移動とNot演算子 ]
    Chapter.102 [ クリックゲーム7:クリックのヒット判定 ]
    Chapter.103 [ クリックゲーム8:ヒットマークエフェクト ]
    Chapter.104 [ クリックゲーム9:サウンド処理の実装 ]
    Chapter.105 [ クリックゲーム10:マウスカーソルの変更 ]
    Chapter.106 [ ブロック崩しゲーム1:仕様と概要を決める ]
    Chapter.107 [ ブロック崩しゲーム2:基本概念の確認 ]
    Chapter.108 [ ブロック崩しゲーム3:ベクトルとは ]
    Chapter.109 [ ブロック崩しゲーム4:変数や定数の宣言 ]
    Chapter.110 [ ブロック崩しゲーム5:初期化処理の実装 ]
    Chapter.111 [ ブロック崩しゲーム6:ブロックの配置 ]
    Chapter.112 [ ブロック崩しゲーム7:根幹処理とバーの処理 ]
    Chapter.113 [ ブロック崩しゲーム8:線分と線分の交差を判定 ]
    Chapter.114 [ ブロック崩しゲーム9:線分同士の交点 ]
    Chapter.115 [ ブロック崩しゲーム10:ボールの処理 ]
    Chapter.116 [ ブロック崩しゲーム11:最終調整して完成へ ]
    Chapter.117 [ テキストファイル操作基礎 ]
    Chapter.118 [ テキストファイル操作:読み込み編 ]
    Chapter.119 [ テキストファイル操作:CSV読み込み編 ]
    Chapter.120 [ テキストファイル操作:様々な読込編 ]
    Chapter.121 [ テキストファイル操作:バイナリ編 ]
    Chapter.122 [ テキストファイル操作:暗号化編 ]
    Chapter.123 [ テキストファイル操作:復号化編 ]
    Chapter.124 [ クラスモジュールとは ]
    Chapter.125 [ クラスモジュール:メソッド編 ]
    Chapter.126 [ クラスモジュール:プロパティ編 ]
    Chapter.127 [ クラスモジュール:イベント拡張編 ]
    Chapter.128 [ クラスモジュール:イベント自作編 ]
    Chapter.129 [ APIによる描画処理1:ハンドル ]
    Chapter.130 [ APIによる描画処理2:デバイスコンテキスト ]
    Chapter.131 [ APIによる描画処理3:ペン オブジェクト ]
    Chapter.132 [ APIによる描画処理4:ブラシ オブジェクト ]
    Chapter.133 [ APIによる描画処理5:図形描画準備編 ]
    Chapter.134 [ APIによる描画処理6:図形描画実践編 ]
    Chapter.135 [ APIによる描画処理7:画像描画の仕組み編 ]
    Chapter.136 [ APIによる描画処理8:ビットブロック転送編 ]
    Chapter.137 [ APIによる描画処理9:ラスタオペレーション ]
    Chapter.138 [ APIによる描画処理10:マスク描画 概念編 ]
    Chapter.139 [ APIによる描画処理11:マスク描画 実践編 ]


    コードやVBAに関する質問などはサポート掲示板(別館)までお気軽にどうぞ。




fc2 seotool Excel VBA ゲーム プログラミング 講座

Counter

twitter


Shadow BBS - 影掲示板

VBA 関連書籍



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。