掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
オブジェクトを含む簡単なゲームを作るにはVB6とVB2005どちらが良いでしょうか? (ID:138956)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> 概念としては戦車オブジェクト(みたいな物)として扱いたい訳です。 私であれば、このケースであれば VB2008 をお勧めしたいところです。 まず、PictureBoxから派生させた戦車クラスを作ります。 これだけで Left、Topという座標プロパティは持っていることになります。 最高時速も保持したいのであれば、Speed プロパティも足しておいてやります。 目標 P の座標も与えるのであれば、Point 型の LocationToTargetプロパティも 用意しておいてもいいかもしれません。 次に、戦車クラスの中に、目標 P に向かって自分の座標を再計算するGotoTarget メソッドも作り込みます。 クラス内のメソッドは自分自身のプロパティを取得 / 設定できますので、 Me.Left += (Me.LocationToTarget.Left - Me.Left) / 10 (式はいいかげんです) のように計算結果を格納してやると、戦車クラスの表示位置を変えてやることが できます。 作成した戦車クラスを配列にするのであれば、親のFormの中で Private 戦車インスタンス(10) As New 戦車クラス とまとめて宣言し、 各インスタンスを Form.Controls に追加( Add )してやり、 Form側から Location (Left、Top)を初期設定し、 Visible = True にしてやれば、 10個の戦車インスタンス(クラスを実体化したもの)が Form 上に表示されます。 後は各戦車インスタンスの GotoTarget メソッドを Form 側から呼び出してやれば、 順番に戦車インスタンスが移動をするようになります。 GotoTarget メソッドの引数に目標 P の座標を設定するようにしておくと、 目標 P が移動しても、常に最新の目標座標に向かって自分の動作を計算できますよね。 「既存のコントロールから派生させて独自のクラスを作る」という感覚が 最初のうちはピンと来にくいかもしれませんが、 慣れれば、ocxを作って組み込むよりよっぽど簡単だと思いますよ。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.