Unity3DとSwiftでiOSプログラミング~gameObjectの移動~Swift分 その2

こんにちは。川上です。
今日は、3月の第5週末の金曜日でした。
「あさイチ」のお話は「引き継ぎ」でした。
イノッチ&有働アナらが、来週月曜日の朝からの新メンツさんらに、「引き継ぎの極意」なるものを喋ってはりました。
(有働さんはひでぇ声してました。笑ちゃいましたw)
この時期、旅立ちで後に濁かずように、あれこれな必要な事で漏る事が無いように気をつながら「引き継ぎ」イベントが、アチコチで始まったのでした。
それでも、新キャラが新しい事をし始めると、何かと?が続きにながら、徐々に環境に合っていくんでしょうね。
まぁ、そこそこ、東へ西へと頑張ってください♪
=・=・=
という事で、前回からの続きです。
XYZ矢印のButtonで処理する設定には、各ボタン毎に諸々で必要するデータには、
・tag値
・button用の位置とサイズデータ
・botton用に貼り付けるpng画像File名
(png画像Fileは、Unity側に組み込んでBuildするとXcodeに自動で置けれます)
//makeGizumoButtonボタンを作成する
GateInUnity.makeGizumoButton(btnVwYup,btnGzmPngs[index]);
で、XYZ矢印のButtonを作成しました。

   //MARK: --Gizumoボタンの作成する
    static func makeGizumoButton(_ btnVw:UIView,_ pngfile:String) {
        //GozumoButton
        let btnYup = UIButton();
        // UIImage のインスタンスを設定
        let image30x30:UIImage = UIImage(named:pngfile)!
        let btnSelctor :[Selector] = [ #selector(GateInUnity.onClickGizumoBtn)];
        // 画像を設定
        btnYup.setImage(image30x30, for: .normal)
        // Aspect Fit
        btnYup.imageView?.contentMode = .scaleAspectFit
        // Horizontal 拡大
        btnYup.contentHorizontalAlignment = .fill
        // Vertical 拡大
        btnYup.contentVerticalAlignment = .fill
        // tag設定
        btnYup.tag = btnVw.tag
        //button size
        let btnWidth:CGFloat = 30;
        let btnHight:CGFloat = 30;
        btnYup.frame = CGRect(x:0, y:0, width:btnWidth, height:btnHight)//サイズ
        //ボタンをタップした時に実行するメソッドを指定
        btnYup.addTarget(self, action: btnSelctor[0],for:.touchUpInside);
        //配置場所
        let btnPoints :[CGPoint] = [CGPoint(x:btnWidth / 2  ,y:btnHight / 2)]
        btnYup.layer.position = btnPoints[0]
        print("--- button.layer.position = \(btnYup.layer.position)")
        //btnVwにreturnbuttonを追加する
        btnVw.addSubview(btnYup)
    }

で、同一にしたXYZ矢印のButtonのアクションイベント関数を受けて、
UnityにSendMessageで通信しています。

  // MARK: onClickGizumoBtn ーーー onClickGimsBtnの選択
    static func onClickGizumoBtn(sender: UIButton){
        print("--- onClickGizumoBtn: ---- sender.tag = \(sender.tag)")
        let retstr = String(format:"%d",sender.tag)
        // unity側にbabyCuに送信する.
        UnitySendMessage("StageScnes", "OnCallFromGizumo", retstr)
    }

=・=・=
次回分は、SwiftでUnity側が受信した処理の諸々へと。。。続く(かな?)

ではでは。。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)