トップ «前の日記(2007-04-19 [木]) 最新 次の日記(2007-04-21 [土])» 編集

SewiGの日記

2004|01|04|05|06|07|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|

2007-04-20 [金] [長年日記]

[Mac][Programming] Macプログラミング(2) - ToolBoxでHello World

MPWだけで作るので、必要なヘッダは適宜includeして、必要な変数は適宜宣言します。

#include <Dialogs.h>
#include <Strings.h>
#include <Fonts.h>
#include <Sound.h>

QDGlobals qd;

void InitToolBox() {
	InitGraf(&qd.thePort);
	InitFonts();
	InitWindows();
	InitMenus();
	TEInit();
	InitDialogs(nil);
	InitCursor();
}

int main(int argc, char **argv) {
	InitToolBox();
	SysBeep(0);
	while(!Button()){};
	return 0;
}

今回はイベント処理などは使っていないので、今風のアプリケーションではありません。単純にAPIを利用しただけのプログラムです。

InitToolBox()はToolBoxやインタフェースを初期化します。ほかのプログラムでもほぼこの形で使う、いわゆるおまじないみたいなものですのでこのまま使ってください。

InitGraf()はQuickDraw、描画関連の初期化、InitFonts()はフォントマネージャの初期化、InitWindow()はウィンドウマネージャの初期化、InitMenu()はメニューマネージャの初期化、TEInit()はテキストエディットマネージャの初期化、InitDialogs()はダイアログマネージャの初期化、InitCursor()はカーソルの初期化。

SysBeep()はSoundManerを利用してビープ音を鳴らす関数です。

Button()はマウスが押されたかどうかを判定します。関数が呼び出されたときの状態を見るだけですから、イベントなんかは一切使っていません。

CodeWarriorを使った分かりやすい解説は参考文献*1でどうぞ。

*1 ねおだ如, “Macintoshでゲームを作ろう!”, Oh!X 2001春号

本日のツッコミ(全1件) [ツッコミを入れる]
Gilang (2012-10-08 [月] 15:34)

A ralley good answer, full of rationality!


Copyright © 2004-2008 SewiG All rights reserved.