Skip to content

klib/example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

はじめに

OpenGL ES や AL を使用したアプリやゲームを開発しようと思うと、

たとえシンプルな 2D ゲームだったとしても、

はじめに何かと組まなければならない部分が色々と出てきます。

iPhoneの場合、ほとんどの機能やサンプルにObjective-Cが絡んできますが、

C/C++が使えるならば、できるだけObjective-Cを使わずに開発したいと、

OpenGLES2を使った2Dゲーム開発のためのライブラリを作ってみました。

OpenGL ES では特に厄介な文字列の描画も簡単に行えます。

Objective-Cとの連携や、xib/StoryBoardとの連携も可能です。

ライセンス

MITライセンスです。

使い方

サンプルを集めたプロジェクトと一緒にライブラリコードを配布をしています。

ライブラリはサンプル内「KLib」フォルダをプロジェクタに追加するか、

サンプルを複製したプロジェクトからサンプルシーンを削除するとすぐに導入できます。

機能

  • タッチ管理(範囲内タッチ、ホールド、リリース判定、スワイプ方向と距離取得など)

  • OpenGLES2を使用した描画

  • 原点を画面左上とした座標管理

  • BMP/GIF/JPG/PNGからテクスチャ作成

  • 任意フォントで文字列を描画(絵文字対応・[RRGGBB]形式で任意色変更可)

  • シーン別ワーク管理

  • 縦横端末方向を簡単切替

  • スプライト機能

  • 線・矩形・円などのプリミティブ描画

  • クリッピング描画

  • デバイスの画面解像度やiOSバージョン、使用言語など端末情報参照

  • OpenALによるwav/mp3/m4aサウンド再生

  • 整合ハッシュ付ファイルの入出力(セーブデータの簡易暗号化)

  • オブジェクトコンテナ(親キャラを倒すと親の出した子キャラも消滅など/擬似タスク)

  • UUID

  • HTTP通信

注意

OpenGL/ALの形式に合わせたラッパーの開発が基となっているため 各種コードはC++ではなく、Cで記述されています。

[更新履歴]

■ Version1.2

  • 全体的に変更を加え iOS7/Universal に対応

  • StoryBoard を使用した各種機能のサンプルを追加

  • 起動から終了までフルスクリーンの1ビュー限定だったビューを廃止、StoryBoard や xib 上に任意サイズで配置可能になった

  • ラベル処理を一新

    • [RRGGBB]形式のカラータグで色付けが可能になった
    • 絵文字(結合文字含む)に対応し任意フォントと混在できるようになった
  • ソフトウェアキーボードとラベルの連携が可能になった

  • 他のビュー上に任意サイズで配置できるようになったため、画面サイズの klib.screen.w(h) でなく klib.view.w(h) でビューサイズを取得できるように変更

  • ステンシルバッファを使用したマスキング(クリッピング)描画機能の追加

  • HTTP通信命令の追加

  • ファイルの簡易暗号化、復元の処理を任意キーで行えるように修正

  • 構造体と ARC 連携の都合上、App-InPurchase系とGameCenter系の機能を削除

[既知の問題]

  • 起動後、GL_INVALID_OPERATION が一度ログに表示される

  • 斜体フォントなど特殊なスタイルのフォントに非対応

About

iOS用OpenGLES2+OpenAL+αなライブラリ 用例プロジェクト

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published