2004-11-23

abdev 2004-11-23 はコメントを受け付けていません。

最近、オフの時間に色々なことがありまして、開発があまり進んでおりません。ということで、今週はAB開発集中ウィークということに設定して、週末には必ずβ4がリリースできるようにしようと思います。

AB開発

abdev 25 Comments »

DirectXの扱いにようやく慣れてきました。と同時に、ABDXの3D描画部分がほぼ完成しました。ユーザーはCOMを意識することなく、すぐにでも3D対象物の生成、移動、消滅などを行うことができます。これをまとめてβ4をリリースしましょうかね…。あ、そうだ!ABDXの解説ファイルを書かねばいけないんだった(-。-

今夜は鍋パーティー

abdev 今夜は鍋パーティー はコメントを受け付けていません。

久しぶりに鍋を企画してみました。でっかい海老、むっちり蟹足を放り込んで…たまらないっっ。もうこんな季節なんですよね。早い早い(汗

AB開発

abdev 21 Comments »

ActiveBasic独自のDirectXライブラリの開発、本格的に始めました。ライブラリ名が決まっていないので、コードネームをABDXとでもしておきましょう(なんかいいタイトルないかな)。

さて、その内容なのですが、別途ABDXのライブラリを読み込んで…というものではなく、統合開発環境埋め込み型(RADツールのような感じ)にしようと考えています。RADツールのような感じといっても、視覚的な操作は一切なく、コーディングメインです…。開発は下のような手順になります。

  1. メニューの「新規作成」をクリックし、プロジェクトを選択する
  2. プロジェクト名を入力し、アプリタイプを「DirectX対応アプリ」にする
  3. コーディングを始める

3番のコーディングを始める時点で、ABDXを使えるようになっています。要するに、「DirectX対応アプリ」のプロジェクトを生成した時点で自動的にABDX自身のソースコードがプロジェクトの一部として生成されるわけです。これは、ウィンドウアプリのプロジェクトを作成した際に、ノーマルウィンドウ(厳密にはCallback.wbp、MakeWindow.wbp、MainWnd.sbp)が自動生成されてすぐにでもウィンドウプログラミングを行えるようになるのと同じようなものだと思ってもらってよいです。

ABDXの内容

私を含め、初心者プログラマーはCOMプログラミングが苦手です。故に、「DirectXはCOMインターフェイスをベースに…」と話が展開していく時点でイヤになってしまうことが多いです。そこで、ABDXは、COMインターフェイスを意識しないライブラリでなければなりません。目指すところはCOMインターフェイスを隠蔽し、尚かつDirectXをフルコントロールできるライブラリというところでしょうか。しかも、ABDXが提供する機能(関数)はユーザーが理解しやすいものでなければならない点も重要です。

実際にDirectGraphicsを扱ってみると、まずはIDirect3D9インターフェイスの生成を行い、それを元にIDirect3DDevice9インターフェイスを生成します。後者のIDirect3DDevice9インターフェイスを用いて、やっとDirectGraphicsが提供する描画機能を扱えることになりますが、それなら最初からIDirect3DDevice9インターフェイスを生成してくれればいいじゃんという疑問がでてきます。色々な要因があってのことでしょう。とにかく、IDirect3D9の次にIDirect3DDevice9だって決まっているのです。このように一度理解してしまえばなんのことはないのですが、ABを初めてダウンロードして腕試しにABDXで「Hello World!」でもやってみるかという状況ではかなり酷な内容でもあります。

この、COMとしてのDirectXとABユーザーとの間のワンクッションがABDXになります。ABDXが生成された時点で、初期化及び終了処理は自動的に定義されるので、すぐにでも描画部分からコーディングすることができます。しかも、そのコーディングは、命令単位で行われるため、N88BASICから移行してきたユーザー、初心者ユーザーにも理解しやすい内容であるといえます。因みに、DirectXで「Hello World!」をやりたいときは、ABDXを利用すれば非常に簡単です。

  1. プロジェクトを新規作成(DirectX対応アプリにチェック)
  2. “プロジェクト名.abp”のコーディング画面を開く
  3. RenderProc関数(描画を担当するコールバック関数)の1行目にdx_DrawText(x,y,”Hello World!”,D3DCOLOR_ARGB(255,255,255))と打つ

では、晩酌中ではありますが、引き続きがんばります。

AB開発

abdev AB開発 はコメントを受け付けていません。

コード補完機能、ほぼ完璧にできました。ついでにパラメータヒントについても改良を加え、クラスのメンバ関数に対応するなど、より操作性が向上しました。バグらしきものも多分、少なくなっているのではないかと思います(たぶん…)。

2004-11-04

abdev 25 Comments »

4連休最終日。今日はとっても良い天気だったので、ついつい富士五湖のほうまでドライブしてしまいました。夜はバイト仲間と飲み会です…☆

AB開発

abdev AB開発 はコメントを受け付けていません。

β3をリリースしたところですが、コード補完機能やパラメータヒントのポップアップ表示の動作がまだまだアヤフヤです。「誰でも気兼ねなく利用できる環境」を第一目標としなければならないので、小さなところで妥協せず、コツコツとABらしいインターフェイス造りをしていきたいと思います。4連休は開発漬けになるのか!?!?

学園祭には行きませんが…

abdev 学園祭には行きませんが… はコメントを受け付けていません。

うちの大学も学園祭シーズンです!夏休みでもないのに、バイト&授業の無い奇跡の4連休が出来上がってしまいました(ワーイワーイ)

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS ログイン