クラス _Canvas/_Canvas3D

アプリケーションの表示面を提供します。イベントはこのクラスのサブクラスのインスタンスに通知されます。

_Canvas3D クラスでは、下記のフレームワークを追加する必要があります。

・OpenGLES.framework
・QuartzCore.framework

インスタンスメソッド

getMain

- (_Main*)getMain

アプリケーション唯一の _Main オブジェクトを取得します。

戻り値:
_Main オブジェクトを返します。

getWidth

- (int)getWidth

スクリーンの幅を取得します。

戻り値:
スクリーンの幅をピクセル単位で返します。

getHeight

- (int)getHeight

スクリーンの高さを取得します。

戻り値:
スクリーンの高さをピクセル単位で返します。

getGraphics

- (_Graphics*)getGraphics

キャンバスに描画するための _Graphics オブジェクトを取得します。

戻り値:
キャンバスに描画するための _Graphics オブジェクトを返します。

clearTouch

- (void)clearTouch

タッチ情報を削除します。

補足説明:
addView:: メソッドを使用してアラートビューを表示する等、キャンバスからフォーカスが奪われる場合、本メソッドを呼び出す必要があります。

getTouchNum

- (int)getTouchNum

タッチ数を取得します。

戻り値:
タッチ数を返します。

getTouchX:

- (int)getTouchX:(int)index

タッチイベントX座標を取得します。

パラメータ:
indexタッチID

戻り値:
タッチイベントX座標を返します。

getTouchY:

- (int)getTouchY:(int)index

タッチイベントY座標を取得します。

パラメータ:
indexタッチID

戻り値:
タッチイベントY座標を返します。

setWindow::::::
setWindow::

- (void)setWindow:(int)left :(int)top :(int)right :(int)bottom :(int)width :(int)height
- (void)setWindow:(int)width :(int)height

スクリーン内の矩形領域をウィンドウ領域として設定します。

パラメータ:
leftスクリーン内の矩形の左上X座標を指定します。
topスクリーン内の矩形の左上Y座標を指定します。
rightスクリーン内の矩形の右下X座標を指定します。
bottomスクリーン内の矩形の右下Y座標を指定します。
widthスクリーン内の矩形領域にマッピングするウィンドウの幅を指定します。
heightスクリーン内の矩形領域にマッピングするウィンドウの高さを指定します。

補足説明:
パラメータが2個のタイプは、ピクセルアスペクト比1:1でスクリーン内にセンタリングされるようにマッピングされます。

getWindowLeft

- (int)getWindowLeft

setWindow::::::/setWindow:: メソッドにより設定されているスクリーン内の矩形の左上X座標を取得します。

戻り値:
スクリーン内の矩形の左上X座標を返します。

getWindowTop

- (int)getWindowTop

setWindow::::::/setWindow:: メソッドにより設定されているスクリーン内の矩形の左上Y座標を取得します。

戻り値:
スクリーン内の矩形の左上Y座標を返します。

getWindowRight

- (int)getWindowRight

setWindow::::::/setWindow:: メソッドにより設定されているスクリーン内の矩形の右下X座標を取得します。

戻り値:
スクリーン内の矩形の右下X座標を返します。

getWindowBottom

- (int)getWindowBottom

setWindow::::::/setWindow:: メソッドにより設定されているスクリーン内の矩形の右下Y座標を取得します。

戻り値:
スクリーン内の矩形の右下Y座標を返します。

windowX:

- (int)windowX:(int)x

スクリーンX座標をウィンドウX座標に変換します。

パラメータ:
xスクリーンX座標

戻り値:
ウィンドウX座標を返します。

windowY:

- (int)windowY:(int)y

スクリーンY座標をウィンドウY座標に変換します。

パラメータ:
yスクリーンY座標

戻り値:
ウィンドウY座標を返します。

screenX:

- (int)screenX:(int)x

ウィンドウX座標をスクリーンX座標に変換します。

パラメータ:
xウィンドウX座標

戻り値:
スクリーンX座標を返します。

screenY:

- (int)screenY:(int)y

ウィンドウY座標をスクリーンY座標に変換します。

パラメータ:
yウィンドウY座標

戻り値:
スクリーンY座標を返します。

setLayout:

- (void)setLayout:(_Layout*)layout

レイアウトを適用します。

パラメータ:
layoutレイアウト情報を保持する _Layout オブジェクト。nil を指定すると、レイアウトを解除します。

補足説明:
レイアウトを適用すると、レイアウトタッチイベントを検知することができるようになります。
また、getLayoutState メソッドでレイアウトのタッチ状態を取得できるようになります。

getLayoutState

- (int)getLayoutState

レイアウトのタッチ状態を取得します。

戻り値:
レイアウトのタッチ状態を返します。

補足説明:
本メソッドの戻り値の各ビットの位置がレイアウトIDに対応します。ビットとレイアウトIDの対応は、1<<(レイアウトID) となります。例えば、レイアウトIDが 2 のレイアウトがタッチされているかどうかの判定は、本メソッドの戻り値と (1<<2) とでAND("&")をとります。

drawLayout:

- (void)drawLayout:(_Graphics*)g

レイアウトをデバッグ表示します。

パラメータ:
g描画に使用される _Graphics オブジェクト

補足説明:
描画に使用される色やフォントサイズ等は、あらかじめ設定しておく必要があります。

addView::

- (void)addView:(UIView*)view :(int)tag

ビューを追加します。

パラメータ:
view追加するビューを指定します。
tagビューに設定するタグ値を指定します。

removeView:

- (void)removeView:(int)tag

ビューを取り除きます。

パラメータ:
tag取り除くビューのタグ値を指定します。

[_Canvas3D クラス] getViewportWidth

- (int)getViewportWidth

glViewport 関数の引数に有効な幅の値を取得します。

戻り値:
glViewport 関数の引数に有効な幅の値を返します。

[_Canvas3D クラス] getViewportHeight

- (int)getViewportHeight

glViewport 関数の引数に有効な高さの値を取得します。

戻り値:
glViewport 関数の引数に有効な高さの値を返します。

[_Canvas3D クラス] lock3D

- (void)lock3D

OpenGL ES 描画の開始を宣言します。

[_Canvas3D クラス] unlock3D

- (void)unlock3D

OpenGL ES 描画の終了を宣言します。

[_Canvas3D クラス] setMultiSample:

- (void)setMultiSample:(BOOL)flag

マルチサンプル機能のON/OFFを切り替えます。

パラメータ:
flagマルチサンプル機能を使用する場合 YES、使用しない場合 NO

[_Canvas3D クラス] multiSample

- (BOOL)multiSample

マルチサンプル機能のON/OFF状態を取得します。

戻り値:
マルチサンプル機能を使用する設定になっている場合 YES、使用しない設定になっている場合 NO

_frameTime

- (int)_frameTime

本メソッドをオーバーライドして、1フレームの時間(ミリ秒)を返してください。

_touchNum

- (int)_touchNum

本メソッドをオーバーライドして、マルチタッチ最大数を返してください。

[_Canvas3D クラス] _multiSample

- (BOOL)_multiSample

本メソッドをオーバーライドして、起動時にマルチサンプル機能を有効にするかどうかを返してください。

_init
_init3D

- (void)_init [_Canvas クラス]
- (void)_init3D [_Canvas3D クラス]

キャンバスの初期化時に呼ばれるメソッドです。

補足説明:
_init3D メソッドの中で、OpenGL ES の初期化処理を行ってください。

[_Canvas3D クラス] _reset3D

- (void)_reset3D

キャンバスが初期化された状態で、高解像度モードのON/OFFが切り替えられた時に呼ばれるメソッドです。

補足説明:
本メソッドの中で、OpenGL ES の再設定処理を行ってください。

_end
_end3D

- (void)_end [_Canvas クラス]
- (void)_end3D [_Canvas3D クラス]

キャンバスの終了時に呼ばれるメソッドです。

補足説明:
_end3D メソッドの中で、OpenGL ES の終了処理を行ってください。

_paint:
_paint3D:

- (void)_paint:(_Graphics*)g [_Canvas クラス]
- (void)_paint3D:(_Graphics*)g [_Canvas3D クラス]

キャンバスに表示するために使用するメソッドです。このメソッドは、タイマーにより呼び出されます。

パラメータ:
g描画に使用する _Graphics オブジェクトが渡されます。

補足説明:
_paint3D: メソッドの中で、OpenGL ES の描画処理および _Graphics オブジェクトを使った描画処理を行ってください。

_suspend

- (void)_suspend

アプリケーションがサスペンド状態になった直後に呼ばれるメソッドです。

_resume

- (void)_resume

アプリケーションがサスペンド状態から戻った直後に呼ばれるメソッドです。

_processEvent::

- (void)_processEvent:(int)type :(int)param

イベントが通知されたときに呼ばれるメソッドです。

パラメータ:
typeイベントのタイプが渡されます。
paramイベントのパラメータが渡されます。パラメータの意味はイベントによって異なります。

補足説明:
イベントのタイプには、次のものがあります。
TOUCH_DOWN_EVENT 画面をタッチダウンすると通知されます。パラメータには、タッチIDが渡されます。
TOUCH_MOVE_EVENT 画面をムーブすると通知されます。パラメータには、タッチIDが渡されます。
TOUCH_UP_EVENT 画面をタッチアップすると通知されます。パラメータには、タッチIDが渡されます。
LAYOUT_DOWN_EVENT レイアウトをタッチダウンすると通知されます。パラメータには、レイアウトIDが渡されます。本イベントが通知されたときは、TOUCH_DOWN_EVENT は通知されません。
LAYOUT_UP_EVENT レイアウトをタッチアップすると通知されます。パラメータには、レイアウトIDが渡されます。本イベントが通知されたときは、TOUCH_UP_EVENT は通知されません。

_onOrientationChange:

- (void)_onOrientationChange:(UIInterfaceOrientation)orientation

画面の向きが変更されたときに呼ばれるメソッドです。

パラメータ:
orientation変更後の画面の向きが渡されます。

UIInterfaceOrientationPortrait ホームボタン下
UIInterfaceOrientationLandscapeLeft ホームボタン左
UIInterfaceOrientationLandscapeRight ホームボタン右
UIInterfaceOrientationPortraitUpsideDown ホームボタン上

_gameCenterAuthOK

- (void)_gameCenterAuthOK

Game Center の認証に成功したときに呼ばれるメソッドです。

_gameCenterAuthNG

- (void)_gameCenterAuthNG

Game Center の認証に失敗したときに呼ばれるメソッドです。

_gameCenterReportAchievementOK::

- (void)_gameCenterReportAchievementOK:(NSString*)identifier :(float)percent

Game Center への達成状況の報告に成功したときに呼ばれるメソッドです。

パラメータ:
identifier報告したアチーブメント識別子
percent報告した達成状況

_gameCenterReportAchievementNG::

- (void)_gameCenterReportAchievementNG:(NSString*)identifier :(float)percent

Game Center への達成状況の報告に失敗したときに呼ばれるメソッドです。

パラメータ:
identifier報告したアチーブメント識別子
percent報告した達成状況

_gameCenterCloseAchievementView

- (void)_gameCenterCloseAchievementView

標準アチーブメントビューが閉じられたときに呼ばれるメソッドです。

_gameCenterReportScoreOK::

- (void)_gameCenterReportScoreOK:(NSString*)category :(int64_t)score

Game Center へのスコアの報告に成功したときに呼ばれるメソッドです。

パラメータ:
category報告した Leaderboard 識別子
score報告したスコア

_gameCenterReportScoreNG::

- (void)_gameCenterReportScoreNG:(NSString*)category :(int64_t)score

Game Center へのスコアの報告に失敗したときに呼ばれるメソッドです。

パラメータ:
category報告した Leaderboard 識別子
score報告したスコア

_gameCenterCloseLeaderboardView

- (void)_gameCenterCloseLeaderboardView

標準 Leaderboard ビューが閉じられたときに呼ばれるメソッドです。

_onHttpResponse:

- (void)_onHttpResponse:(NSData*)data

通信成功したときに呼ばれるメソッドです。

パラメータ:
dataレスポンスデータとして、NSData オブジェクトが渡されます。

_onHttpError:

- (void)_onHttpError:(int)status

通信失敗したときに呼ばれるメソッドです。

パラメータ:
statusHTTPステータスコードが渡されます。

_inAppPurchaseInvalid:

- (void)_inAppPurchaseInvalid:(NSString*)identifier

_InAppPurchase クラスの purchase: メソッドに指定したプロダクトIDが無効なときに呼ばれるメソッドです。

パラメータ:
identifierプロダクトID

_inAppPurchasePurchaseOK::

- (void)_inAppPurchasePurchaseOK:(NSString*)identifier :(NSData*)receipt

購入処理に成功したときに呼ばれるメソッドです。

パラメータ:
identifierプロダクトID
receiptレシートデータが渡されます。

_inAppPurchasePurchaseNG:

- (void)_inAppPurchasePurchaseNG:(NSString*)identifier

購入処理に失敗したときに呼ばれるメソッドです。

パラメータ:
identifierプロダクトID

_inAppPurchaseRestoreOK:

- (void)_inAppPurchaseRestoreOK:(NSString*)identifier

リストア処理に成功したときに呼ばれるメソッドです。

パラメータ:
identifierプロダクトID

_inAppPurchaseRestoreNG

- (void)_inAppPurchaseRestoreNG

リストア処理に失敗したときに呼ばれるメソッドです。

_inAppPurchaseRestoreCompleted

- (void)_inAppPurchaseRestoreCompleted

全てのリストア処理が終了したときに呼ばれるメソッドです。

_inAppPurchaseCancelled:

- (void)_inAppPurchaseCancelled:(NSString*)identifier

購入処理またはリストア処理がキャンセルされたときに呼ばれるメソッドです。

パラメータ:
identifierプロダクトID

_musicComplete:

- (void)_musicComplete:(id)music

BGM再生が完了したら呼ばれるメソッドです。

パラメータ:
music再生が完了した _Music オブジェクトが渡されます。

_twitterAuthOK

- (void)_twitterAuthOK

Twitter の認証に成功したときに呼ばれるメソッドです。

_twitterAuthNG

- (void)_twitterAuthNG

Twitter の認証に失敗したときに呼ばれるメソッドです。

_twitterTweetOK

- (void)_twitterTweetOK

ツイートに成功したときに呼ばれるメソッドです。

_twitterTweetNG:

- (void)_twitterTweetNG:(int)status

ツイートに失敗したときに呼ばれるメソッドです。

パラメータ:
statusHTTPステータスコードが渡されます。

_twitterCloseTweetComposeView

- (void)_twitterCloseTweetComposeView

標準ツイートビューが閉じられたときに呼ばれるメソッドです。

_onWebViewShouldStartLoad:

- (BOOL)_onWebViewShouldStartLoad:(NSString*)url

新しいURLが指定されたときに呼ばれるメソッドです。
リクエストを中止する場合 YES を返してください。

パラメータ:
urlURLが渡されます。

補足説明:
_onWebViewShouldStartLoad: 内で
if( [url hasPrefix:@"native://"] )
{
    NSString* command = [url substringFromIndex:9];
    if( [command isEqualToString:@"command1"] )
    {
        // ネイティブ処理
    }
    return YES;
}
のように実装し、JavaScript側で
location.href = "native://command1";
と実行することで、JavaScriptからネイティブ処理を呼び出すことができます。

_onWebViewStartLoad:

- (void)_onWebViewStartLoad:(NSString*)url

ページ読み込み開始時に呼ばれるメソッドです。

パラメータ:
urlURLが渡されます。

_onWebViewFinishLoad:

- (void)_onWebViewFinishLoad:(id)webView

ページ読み込み完了時に呼ばれるメソッドです。

パラメータ:
webView_WebView オブジェクトが渡されます。

_onWebViewLoadError::

- (void)_onWebViewLoadError:(NSError*)error :(id)webView

ページ読み込みエラー時に呼ばれるメソッドです。

パラメータ:
errorNSError オブジェクトが渡されます。
webView_WebView オブジェクトが渡されます。