大阪市中央区 システムソフトウェア開発会社

営業時間:平日09:15〜18:15
MENU

DXライブラリをiOSで使うーScreenの表示サイズの取得

著者:川上洋
公開日:2020/05/09
最終更新日:2020/05/09
カテゴリー:技術情報 雑記

こんにちは、川上です。

objective-c++ソースを新規作成した時のコンパイルType設定。
先ず、コレを設定しておくと、コンパイルビルドができるようになりました。

iOSデバイス(iPhone)をDXライブラリで作る時に、まずに取得するのは、表示画面サイズだよね。

iPhoneを使ってる縦横サイズを取得して、DXライブラリ側にお知らせなければならないよね。

ザックリのDXライブラリとiPhoneとの連携方法は、

c++ > c++IF > objective-c++

c++とobjective-c++との変数やポインタなどがすんなり共有で、連携が出来たのでした。

で、objective-c環境内の
UIKit
が、使える。

取りあえず、作成箇所はどっちから書いていくかな。。
とりあえず、上流から、・・・
ーーSubView.h ーー

// --  SubView.h --
// Screen Size Struct
struct stSCREEN_SIZE
{
    int width;
    int height;
};

ーー DxCarMain.ーー

#include "DxLib.h"
#include "SubView.h"

int ios_main( void )
{
    // MARK: === Screen Frameの縦横サイズを取得する 
    stSCREEN_SIZE frm;
     SubView::callObjc_GetScreenSize(&frm);
    
    // フルスクリーンモード時の画面の拡大モードを最近点モードに設定
    SetFullScreenScalingMode( DX_FSSCALINGMODE_NEAREST ) ;
    SetGraphMode( frm.width,frm.height, 32 ) ;

    if( DxLib_Init() == -1 )        // DXライブラリ初期化処理
    {
        return -1 ;            // エラーが起きたら直ちに終了
   }

    // MARK: App内のリソースに組み込んだ画像(png,jpeg)Fileの取得
    char* cp = SubView::callObjC_GetImgFile((char *)"river.png");
    int gh1;
    //画像ファイルのメモリへの読みこみ、及び動画ファイルのロード
    gh1 = LoadGraph( cp ) ;
    DrawGraph( 0, -50 , gh1 , TRUE ) ;

    // 読み込んだ画像のグラフィックハンドルを削除
    DeleteGraph( gh1 ) ;

   WaitKey() ;                // キー入力待ち
   DxLib_End() ;                // DXライブラリ使用の終了処理

}

で、せなあかんミエルてるヤツを順番に、一気通貫で作っていきます。
ーー DxCarMain.cpp ーー

// MARK: === Screen Frameの縦横サイズを取得する 
stSCREEN_SIZE frm;
SubView::callObjc_GetScreenSize(&frm);

// MARK: App内のリソースに組み込んだ画像(png,jpeg)Fileの取得
char* cp = SubView::callObjC_GetImgFile((char *)"river.png");

細道をだんだん幹線道路に拡大して、後は、邪道、蛇道、ヤブ道を色々に付ければ、結構、追々オモロイかも。。ネ。
ではでは。

    上に戻る