MacでSDL2(OpenGL)初めの一歩
SDLのサイト(↓)から、Mac OSX用のSDL2のdmgをダウンロード
https://www.libsdl.org/download-2.0.php
SDLというのは、OS間にある機能やしきたりの差異を埋めてくれるレイヤー(ラッパーのようなもの)です。
これと、OpenGLを用いれば、OSに関する振る舞いを考慮せず、ゲームプログラミングに集中できます。
Xcodeで、macOSのココアプロジェクトを作成
ゲームというのが隣にありますが、我慢;;(Windows版の平行開発も見据えて)
とりあえず、以下のようにすれば、SDLが使える環境を確認できます。
とりあえず、FULLSCREENのフラグは外しておきましょう。(デバッグモードだとパニックになるので;;)
あとは、OpenGLに関する関数を並べて、正しく使えることを確認してみます。
(MacOSXだとデフォルトでGLUTが載っているため、ティーポットなど使えますが、他だとできない可能性があります。
以下OpenGLが使えることを確認するコード
//
// main.m
// myCoSDL
//
// Created by KIJIBATO on 2020/08/12.
// Copyright © 2020年 KIJIBATO All rights reserved.
//
#import <Cocoa/Cocoa.h>
#include <SDL2/SDL.h>
#include <glut/glut.h>
void glTestInit()
{
glClearColor(0.0, 0.0, 1.0, 1.0);
glOrtho( -3.2, 3.2, -2.4, 2.4, -1, 1 );
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glPushMatrix();
glTranslated( 0, 0, 0 );
glScaled( 0.5, 0.8, 0.5 );
glutWireTeapot(0.5);
glPopMatrix();
}
int main(int argc, const char * argv[]) {
int A,B;
A=A+1;
B=B+1;
SDL_Window *window = SDL_CreateWindow("My Game Window",
SDL_WINDOWPOS_UNDEFINED,
SDL_WINDOWPOS_UNDEFINED,
640, 480,
SDL_WINDOW_OPENGL);//SDL_WINDOW_FULLSCREEN// |
SDL_GLContext glcontext = SDL_GL_CreateContext(window);
glTestInit();
int done = 0;
SDL_Event event;
while ( !done ) {
/* Check for events */
while ( SDL_PollEvent (&event) ) {
switch (event.type) {
case SDL_MOUSEMOTION:
break;
case SDL_MOUSEBUTTONDOWN:
break;
case SDL_KEYDOWN:
/* Any keypress quits the app... */
case SDL_QUIT:
done = 1;
break;
default:
break;
}
}
SDL_GL_SwapWindow(window);
SDL_Delay (1000%60);
}
// return NSApplicationMain(argc, argv);
return 0;
}
以前はatlantisというサンプルが付いたひな型があったのですが、まぁ簡単にスタートできたのでいいでしょう。
この先は、テクスチャ画像、音声、ジョイスティック...更に文字の取り扱い(SDL2.0で簡単にユニコードが扱えるようになっている?)等ですかね。
« カクウチ@ふじはら酒専門店(2019年04月) | トップページ | Macでゲームが起動しない (TLD doesn't work on Macinosh.) »
「自作ゲーム」カテゴリの記事
- 創作ゲーム一覧 ( List of original games. )(2025.02.08)
- 帰ってきたスペースギコハリャーン(2024.12.31)
- 10数年ぶりにゲームをリリースしたよ(TLDQR)(2024.07.28)
- MacでSDL2(OpenGL)初めの一歩(2020.08.12)
- 最近の開発状況(2012.10.29)
「プログラム」カテゴリの記事
- MacでSDL2(OpenGL)初めの一歩(2020.08.12)
- OpenGL テクスチャレンダリングが遅い(2008.12.31)
« カクウチ@ふじはら酒専門店(2019年04月) | トップページ | Macでゲームが起動しない (TLD doesn't work on Macinosh.) »





コメント