万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    uFrameやってみる(Unity 5.3.1f1)

    Unityは5.3.1f1を使っている。

    uFrameやってみる。 Asset Storeの1.6.3.r1のバージョンを使うことにした。

    uFrame-1.5.1r2uFrame-1.6.3r1のUnityパッケージが存在する。 f:id:shinriyo:20160521220208p:plain

    このバージョンがあたらしいuFrame-1.6.3r1を展開してみる。

    すると早速大量のエラーが。

    Assets/uFrame/MVVM/Framework/Editor/Templates/uFrameTemplates.cs(144,48): error CS0246: The type or namespace name `UGUIExtensions' could not be found. Are you missing a using directive or an assembly reference?

    とか f:id:shinriyo:20160521220401p:plain 15件もある・・。 ちなみに、uFrame-1.5.1r2を展開しても非推奨メソッドが亡くなってて、エラーが出る。

    公式のフォーラムはリンク切れ。 http://www.invertgamestudios.com/help

    このmagcatさんのサイトにあった。UGUIExtensionsは有るけどうまく読み込まれてないっぽい http://magcat.php.xdomain.jp/brog/ そのサイトは説明が大雑把でわかりにくいが、プリプロセッサを直せばいいらしい。

    万年素人の私はキチンと書くとすると、 UGUIExtensions.csファイルの一番上だ。

    #if UNITY_4_6 || UNITY_5_0 || UNITY_5_1 || UNITY_5_2
    using System;
    using UniRx;
    using UnityEngine;
    using UnityEngine.Events;
    using UnityEngine.EventSystems;
    using uFrame.MVVM;
    using uFrame.Kernel;
    using UnityEngine.UI;
    
    namespace uFrame.MVVM.Bindings
    {
        public static class UGUIExtensions
        {

    の1行目を #if UNITY_4_6 || UNITY_5_0 || UNITY_5_1 || UNITY_5_2 || UNITY_5_3にする。 Unityは5.3.1f1でも動くはず。

    次にこのエラー Sub Systemを生成したあとに生成されるSybsystemノードをダブルクリックして、 内部階層に入った時に出てくる画面で発生。

    UnityException: Texture 'Header3' is not readable, the texture memory can not be accessed from scripts. You can make the texture readable in the Texture Import Settings.
    UnityEngine.Texture2D.GetPixels32 ()
    Invert.Common.TexturesExtensions.CutTextureBottomBorder (UnityEngine.Texture2D texture, Int32 cutSize) (at D:/Invert/uFrameGit/uFrameTools/Invert.Core.GraphDesigner.Unity/ElementDesignerStyles.cs:1998)
    Invert.Core.GraphDesigner.Unity.Schemas.UnityNodeStyleSchema.ConstructHeaderImage (Boolean expanded, Color color, System.String iconName) (at D:/Invert/uFrameGit/uFrameTools/Invert.Core.GraphDesigner.Unity/Schemas/UnityNodeStyleSchema.cs:57)
    Invert.Core.GraphDesigner.Schemas.impl.NodeStyleSchema.GetHeaderImage (Boolean expanded, Color color, System.String iconName) (at D:/Invert/uFrameGit/uFrameTools/Invert.Core.GraphDesigner/Schemas/impl/NodeStyleSchema.cs:176)
    Invert.Core.GraphDesigner.HeaderDrawer.Draw (IPlatformDrawer platform, Single scale) (at D:/Invert/uFrameGit/uFrameTools/Invert.Core.GraphDesigner/Drawers/impl/HeaderDrawer.cs:97)
    Invert.Core.GraphDesigner.DiagramNodeDrawer.DrawChildren (IPlatformDrawer platform, Single scale) (at D:/Invert/uFrameGit/uFrameTools/Invert.Core.GraphDesigner/Drawers/impl/DiagramNodeDrawer.cs:356)
    Invert.Core.GraphDesigner.DiagramNodeDrawer.Draw (IPlatformDrawer platform, Single scale) (at D:/Invert/uFrameGit/uFrameTools/Invert.Core.GraphDesigner/Drawers/impl/DiagramNodeDrawer.cs:292)
    Invert.Core.GraphDesigner.GenericNodeDrawer`2[Invert.uFrame.MVVM.SubsystemNode,Invert.Core.GraphDesigner.ScaffoldNode`1+ViewModel[Invert.uFrame.MVVM.SubsystemNode]].Draw (IPlatformDrawer platform, Single scale) (at D:/Invert/uFrameGit/uFrameTools/Invert.Core.GraphDesigner/Drawers/impl/DiagramNodeDrawer.cs:64)
    Invert.Core.GraphDesigner.DiagramDrawer.Draw (IPlatformDrawer platform, Single scale) (at D:/Invert/uFrameGit/uFrameTools/Invert.Core.GraphDesigner/Drawers/impl/DiagramDrawer.cs:146)
    Invert.Core.GraphDesigner.DesignerWindow.DrawDiagram (IPlatformDrawer drawer, Vector2 scrollPosition, Single scale, Rect diagramRect) (at D:/Invert/uFrameGit/uFrameTools/Invert.Core.GraphDesigner/Windows/DesignerWindow.cs:349)
    Invert.Core.GraphDesigner.DesignerWindow.Draw (IPlatformDrawer drawer, Single width, Single height, Vector2 scrollPosition, Single scale) (at D:/Invert/uFrameGit/uFrameTools/Invert.Core.GraphDesigner/Windows/DesignerWindow.cs:256)
    Invert.Core.GraphDesigner.Unity.ElementsDesigner.OnGUI () (at D:/Invert/uFrameGit/uFrameTools/Invert.Core.GraphDesigner.Unity/ElementsDesigner.cs:256)
    System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)

    このエラーの事も先ほどのmagcatさんのサイトに書いてた。 f:id:shinriyo:20160521231550p:plain でHeader3という画像を検索して Inspector上でこうする。 f:id:shinriyo:20160521231832p:plain と、エラー消える。

    githubはここにあるのでバグを見つけたらプルリクエストしてほいい。 GitHub - InvertGames/uFrame-MVVM: uFrame MVVM Framework for Unity3D