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

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

(11)Unity3DとSwiftでiOSプログラミング~回転処理【実装編 2 】

株式会社クローバーフィールドの経営理念
著者:川上洋
公開日:2018/01/11
最終更新日:2018/06/21
カテゴリー:技術情報

こんにちは、川上です。
大昔にアナログ頃で録画していた「新スタートレック」を、この頃、復習しています。
一度見始めてしまうと、ついつい、続けて順番に見続けてしまうのです。

「新スタートレック」は、シーズンが跨ぐ時に前後編の話になっているのです。
今回は、ついつい見てしまったのが、3シーズンと4シーズンの
“The Best of Both Worlds”(”浮遊機械都市ボーグ・前編/後編)
でした。

「新スタートレック」は、1シーズン頃の雰囲気は、「宇宙大作戦」頃のような暗い霧雨感じの古画面っぽいが、2、3シーズン頃では今風のビビッとした感じでした。
人好みによるけど、2、3シーズン以降には、小生は好きでした。

ヴォーシャーまで見てしまいそうで長くなりそう。。

=・=・=

前回の続きです。
取説のピンポーンです。
気づいたことや注意点などでのMy備忘録していますので、間違っていてもごめんなさいね。

次回、Unity側のプラグイン用のコードの実装後に、Xcode上の
4. GateInUnity.swift

import UIKit
import Firebase
class GateInUnity: NSObject {
	・・・・
	・・・・ 
	// MARK: -
    // MARK: - +++++ SettingAdMobView Setting
    static func SettingAdMobView(){
        print("++++ SettingAdMobView():Google Mobile Ads SDK version: \(GADRequest.sdkVersion())")
        
        //UnityのViewControllerの取得
        let unityViewController = UnityGetGLViewController();
        let parView = unityViewController?.view;
        
        //既存作成Viewを検知して削除
        let adVw = parView?.viewWithTag(ADMOB_VW) 
        adVw?.removeFromSuperview()
        
        //admobView = GADBannerView(adSize:kGADAdSizeBanner)
        admobView.frame.origin = CGPoint(x:0, y:(parView?.frame.size.height)! - admobView.frame.height)
        admobView.frame.size = CGSize(width:(parView?.frame.width)!, height:admobView.frame.height)
        admobView.tag = ADMOB_VW
        
        if AdMobTest {
            admobView.adUnitID = TEST_ID
        }
        else{
            admobView.adUnitID = AdMobID
        }
        
        admobView.rootViewController = unityViewController
        admobView.load(GADRequest())
        
        unityViewController?.view.addSubview(admobView)
        
        //MARK:  アプリ公開準備時にAdMobを非表示する
        //admobView.isHidden = true
    }

	// MARK: -⚡️-----  updateDeciveOrientationハンドラー
    //MARK: --プラグイン経由 画面の回転を検出
    static func updateDeciveOrientation(){
        print("**** プラグイン経由 -- 画面の回転を検出 ****")
        //AdMob再表示
        GateInUnity.SettingAdMobView()
    }
    
}//EOF GateInUn

UnityからupdateDeciveOrientation()の関数Callされた状態時点では、iPhoneの実機は回転位置になっているので、
AdMob再表示用のSettingAdMobView()を受けた時に
let unityViewController = UnityGetGLViewController();
で取得したunityViewControllerは、回転後の表示サイズを持っていますので、
admobViewをunityViewController?.viewで表示変更ができるようになります。

・・・コードを実装した後に実機で動かして縦横に回転して見ましょう。AdViewの変更表示ができているはず。(といいなぁ。。)

=・=・=
ではでは。

    上に戻る