Jump to content
Unity Insider Forum

Haegar

Members
  • Content Count

    355
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by Haegar

  1. Hallo *, meine Android-App bietet In-App Käufe an. Nach dem Kauf wird das Item (type: non consumable, payout type: Item, quanitity: 1) . auch korrekt freigeschalten. Auch das Wiederherstellen klappt problemlos. Nun kommts aber: Sofern der Käufer auf dem Smartphone die In-App-Käufe getätigt hat, können diese auf dem Tablet nicht wiederhergestellt werden. Beim Kauf auf dem Tablet können Käufe mithilfe der Funktion für "Käufe Wiederherstellen" auf dem Smartphone aktiviert werden. Ich stehe vor einem Rätsel. Kennt jemand auch dieses Problem und gibt es hierfür eine Lösung? Viele Grüße Ulrich
  2. Hi, ich bin mir nicht ganz sicher, aber ich glaube, dass API Level 29 erst ab Unity 2020.1 zur Verfügung steht...
  3. hat sich erledigt... Es müssen selbst bei der Alpha alle Einträge und Screenshots auch beim "Store-Eintag" vorhanden sein.
  4. Hallo *, seit über 2 Tagen versuche ich, mein neues Spiel auf Android als Alphaversion "einzuführen". Das Hochladen und Überprüfen hat fehlerfrei geklappt, allerdings ist der Button "Alphaversion einführen" immer noch inaktiv (rechts unten). Kann mir bitte jemad sagen, was ich vergessen habe zu tun? laut der Google-Hilfe habe ich alles korrekt gemacht. Ich stehe vor einem Rätsel. Danke Ulrich
  5. … gelöst Es muss heißen: LocalizedTextKey loc = (LocalizedTextKey)4; key = loc.ToString();
  6. Hallo *, ich versuche mich gerade an einer eigenen Lokalisierung und habe meine Probleme, die Einträge aus Public Enum auszulesen. Ich habe ein Skript LocalizedTextKey.cs mit folgendem Inhalt: namespace AutoLocalization{ public enum LocalizedTextKey{ none, contin, newgame, quit, classic, } } Nun möchte ich aus einem anderen Skript heraus (using AutoLocalization; ist vorhanden) den z.B. 4ten Eintrag ('quit') als String erhalten mit: key = (string)LocalizedTextKey[4]; Funktioniert nicht. Kann mir bitte jemand helfen? Vielen Dank Ulrich
  7. Hi Sascha, danke für Deien Antwort. Ich hätte nicht gedacht, dass dies so kompliziert ist. Nungut, dann nehme ich es so hin wie es ist und ändere die Werte beim Erzeugen manuell... Ulrich
  8. Hallo *, ich habe das Problem, dass ich bei eigenen Klassen keine Werte vorgeben kann. So habe ich beispielsweise folgende Klasse: [System.Serializable] public class cGewinnSplit { public int Geldgewinn = -1; public int GeldsplitA = -1; public int GeldsplitB = -1; public int GeldSofortAddier = -1; } public cGewinnSplit[] GewinnSplit; Sobald ich im Inspektor das Array erzeuge / erweitere, bekommen die Variablen alle den Wert 0 statt -1. Gibt es eine Möglichkeit, dass die Variablen alle den voreingestellten Wert - in meinem Beispiel -1 - beim Erzeugen zugewiesen bekommen? Danke für eure Hilfe Ulrich
  9. Richtig! Jetzt wo Du es sagst... Manchmal sollte man doch aufmerksamer lesen.
  10. Hi Sascha, ich hab das schon gelesen, aber es hat bisher nix zum Erfolg geführt. Mittlerweile habe ich zu Testzwecken in fast allen Ordnern ne Datei "Ausschluss.txt". Ich vermute fast, dass das Problem woanders liegt. Vielleicht ist die Datei zu groß (178 kb), vielleicht muss die Endung anders lautet (ne, bei Textdateien nicht) oder oder oder. Ich verstehe es nicht... ### Ich habs rausgekriegt... ### Die Endung ".txt" muss entfernt werden. Das ist alles... Also nur: if (System.IO.File.Exists("Resources/Ausschluss.txt")) LoadTxtFromResource("Ausschluss");
  11. Danke für die Vorschläge, aber es haut nix hin. Mich wundert halt, dass bei der Überprüfung, ob das File existiert, ein true zurückkommt, aber das File trotzdem nicht eingelesen werden kann... if (System.IO.File.Exists("Resources/Ausschluss.txt")) LoadTxtFromResource("Resources/Ausschluss.txt"); Mit Groß- & Kleinschreibung etc. hab ich auch schon experimentiert. Jetzt weiss ich auch nicht mehr weiter... Ulrich
  12. Hallo *, ich möchte gerne eine externe Text-Datei von der Festplatte laden. Dazu verwende ich: void Start () { if (System.IO.File.Exists("Resources/Ausschluss.txt")) LoadTxtFromResource("Resources/Ausschluss.txt"); } static void LoadTxtFromResource (string fileName) { int i; string s; TextAsset sta; sta = Resources.Load(fileName) as TextAsset; Debug.Log(sta.text); string[] dataLines = sta.text.Split("\n"[0]); for (i = 0; i < dataLines.Length ; i++){ s = dataLines[i]; Debug.Log (s); } } Das TextAsset ist aber nach dem Laden leer; ich erhalte ständig eine NullReferenceException. Das File existiert. Wieso kann ich das nicht laden? Weiß jemand Rat? Danke, Ulrich
  13. Vielen Dank Zer0cool für die Mühe, die Du Dir gemacht hast. Ich habe die Shader compiliert und sie funktionieren absolut problemlos. In den nächsten tagen werde ich mich mal etwas intensiver mit den Shadern beschäftigen, da ich zum einen die Funktion verstehen und zum anderen auch noch ein paar Feinheiten einbauen möchte. Nochmals Danke, Ulrich
  14. Hallo *, für mein neuen Spiel benötige ich ein Material, dessen MainTexture sich dreht. Ich verwende das Material LegacyShaders/Decal. Die Textur-Rotation versuche ich mit: float rotateSpeed = 30f; Quaternion rot = Quaternion.Euler (0, 0, Time.time * rotateSpeed); Matrix4x4 m = Matrix4x4.TRS (Vector3.zero, rot, Vector3.one); GetComponent<Renderer>().material.SetMatrix ("_TextureRotation", m); Unter https://docs.unity3d....SetMatrix.html habe ich gelesen, dass man den Shader um die Funktion der Texturrotation erweitern muss. Der benötigte Sourcecode ist auch fein säuberlich aufgelistet, aber ich krieg ihn nicht korrekt eingebunden. Der zweite Schritt vor dem ersten: Wenn ich dann mal den Shader editiert habe, wie kriege ich ihn dann in mein Projekt eingebunden? Ich habe versucht, den unveränderten unter einem neuen Namen abzuspeichern, aber er erscheint nicht in der Auswahl. Also zwei persönliche Grenzen überschritten... Danke für Tipps, Ulrich ... achja, ich hab mir Shader Forge gekauft - bisher ohne Erfolg.Über eine Lösung meines Problems hiermit würde ich mich auch freuen...
  15. Hallo *, mein neues Projekt nähert sich der Fertigstellung. Es geht bei diesem kleinen Spiel darum, während einer Klassenarbeit die Schummler ausfindig zu machen. Das Spiel hat 75 Level und drei verschieden schwierige Endlos-Spiele. Ein Video der Preview könnt ihr ansehen unter: Ich freue mich über Kritiken & Meinungen. Ulrich
  16. Hab die Lösung gefunden: _FakeButton.GetComponent.<UI.Button>().onClick.Invoke(); Statt <Button> muss der Befehl in diesem Falle <UI.Button> lauten. Ulrich
  17. Ne, ein Farbwechsel o.ä. ist nicht nötig. Es soll der ganze Kladerradatsch abgearbeitet werden, der im OnClick() steht. Im Editor kann man ja mehrere Befehle einfügen und um diese geht es mir. Ulrich
  18. Hallo *, ich möchte sämtliche OnClick()-Ereignisse eines UI.Buttons auslösen, so als hätte ich ihn gedrückt. Mir schwebt ähnliches vor wie: _FakeButton.GetComponent.<Button>().onClick.Invoke(); Leider funktionieren dies und Variationen davon nicht. Kann mir jemand helfen? Danke, Ulrich
  19. ... habs rausgefunden. Man muss den Ordner Assets\Editor erzeugen und ein C#-Skript mit folgendem Inhalt einfügen: using UnityEditor; using UnityEngine; public class MyWindow : EditorWindow{ string myString = "CompleteProject"; [MenuItem("Window/Export Entire Project")] public static void ShowWindow(){ EditorWindow.GetWindow(typeof(MyWindow)); } void OnGUI(){ GUILayout.Label ("Export complete Project", EditorStyles.boldLabel); myString = EditorGUILayout.TextField ("Filename: ", myString); if (GUILayout.Button("Export complete Project")) AssetDatabase.ExportPackage("Assets", myString+".unitypackage" ,ExportPackageOptions.Interactive | ExportPackageOptions.Recurse | ExportPackageOptions.IncludeLibraryAssets | ExportPackageOptions.IncludeDependencies); } } Im Editor kann man nun unter Windows den Eintrag "Export Complete Project" auswählen und das Projekt - incl. der Projekteinstellungen - exportiert. Ulrich
  20. Es sind aber in der Tat die echten Projekteinstellungen, die Importiert werden. Zu Beginn gibts daher auch eine Warnung, dass nun alle Projekteinstellungen überschrieben werden. Ob man das machen sollte und welche Gefahren das birgt, sei mal außen vor gelassen. Ich möchte diese Funktion nur haben, um meine eigenen Sicherheitskopien machen zu können. Es geht also definitiv. Ulrich
  21. Hallo, *, vor ein paar Tagen habe ich ein UnityAsset importiert, bei dem die Projekteinstellungen ebenfalls dabei waren. Wenn ich ein Projekt als Asset exportiere (Assets \ Export Package), kann ich höchstens alles, was im Asset-Ordner liegt, exportieren. Weiß jemand, welche Einstellungen ich vornehmen muss, damit auch die Projekteinstellungen in der exportierten Datei gespeichert werden? Danke, Ulrich
  22. Hallo *, nachdem ich nun mein neues Spiel für die Plattformen iOS, Android & Win Phone compiliert habe, möchte ich den steinigen Weg hier einmal dokumentieren - mit Lösungen. Zum einen, damit derjenige Leser, der ähnliche Probleme haben könnte, hier eine Lösung findet. Zum anderen, damit ich in ein paar Monaten, wenn mein neues Spiel fertig ist, selbst nachlesen kann. Ich beschränke mich auf die Informationen, die entweder in den Beschreibungen fehlen oder fehlerhaft sind. Andoid: - Hier lief soweit alles glatt. iOS: - Beim Versuch, das Spiel zu compilieren, stürzt Unity 5.0 rigoros ab - ausnahmslos. - Mit V5.3.2 gelang das Compilieren, auch das Upgraden von 5.0 auf 5.3.2 verlief fehlerfrei. Sollte man aber nicht-dynamische Fonts verwenden, werden diese nach dem Upgrade falsch positioniert. Dynamische Fonts werden mit Unity V 5.0 und höher aber auch auf mobilen Geräten unterstützt. - Unter Unity3D muss bei "Player Settings \ Other Settings \ Configuration \ Scripting Backend" unbedingt "IL2CPP" ausgewählt werden. - Mit XCode sämtliche Einträge bei "Required Device Capatibilities" (zu finden unter "Info \ Custom iOS Target Properties") löschen - Bei "Build Settings \ Architectures" neben "armv7" auch "armv64" einfügen - Bei "Build Settings \ Build Active Architecture Only" das Flag bei "Debug" auf "no" und "Release" auf "yes" setzen - Unter "Build Settings \ Code Signing" Distribution-Profile auswählen - Unter "Build Settings \ CopyPNGFile - Packing" die Einstellung "Compress PNG Files" auf "No" setzen - Alle nötigen Icons unter "Unity-Phone\images.xcassetts\AppIcon hinzufügen. Von links nach rechts und oben nach unten müssen diese folgende Maße haben: 29x29, 58x58, 87x87, 80x80, 120x120, 57x57, 114x114, 120x120, 180x180, 29x29, 58x58, 40x40, 80x80, 50x50, 100x100, 72x72, 144x144, 76x76, 152x152, 167x167 - Sollte ein iPad oder iPhone am Mac angeschlossen sein, dies entfernen und unter Product \ Buld for \ Running compilieren - Nach dem Compilieren das App-File suchen und den Order "Payload" erstellen. In diesen Ordner die App kopieren und den Order samt App komprimieren. Das ZIP-File umbenennen in *.ipa - Programm mittels "Application Loader" in den AppStore hochladen. - iTunes Connect öffnen, Spiel auswählen und unter "Warten auf Prüfung" bei Build auf das Plus-Zeichen klicken und die eben hochgeladene Datei auswählen. - Zur Prüfung übermitteln WP8: - Eine unter Unity V5.3.2 erzeugte App stürzte auf meinem WP8-Handy permanent alle 20 bis 50 Sekunden ab. Mit einem V5.0 erzeugten Programm gab es keine Fehler. Also erzeugte ich das WP8-Spiel mit Unity V5.0 - WP8 Spiele MÜSSEN durch berühren des "Back-Buttons" (Zurück-Pfeil) ins Menü führen bzw. das Spiel beenden. Ansonsten wird das Spiel nicht akzeptiert - Im Store Dashboard kann man keine Sprachen hinzufügen. Es werden nur Beschreibungen zugelassen, die in der App vorgesehen sind. Hierzu öffnet man in Visual Studio die Datei "WMAppManifest.xml" und wählt unter "Packaging" die zusätzlich gewünschten Sprachen aus. - Ebenfalls in der Datei "WMAppManifest.xm" unter "Application UI" aktiviert man den Haken "Support for large Tiles" und wählt das Icon "Assets\Tiles\IconicTileMediumLarge.png" aus. - Das Programm MUSS - im Gegensatz zur Dokumentation - als Master und nicht als Release compiliert werden, damit rechts unten nicht "Development Build" steht. - In den WinStore hochladen Allerdings wird im Dashboard statt des Icons, auch wenn das in den Beschreibungen benötigte 300x300 PNG-Icon hochgeladen wurde, nur eine graue Fläche dargestellt. Im Store selbst wird aber das korrekte Icon angezeigt. Somit ist dies nur kosmetischer Natur. Sollten weitere Probleme auftauchen bzw. Lösungen für Probleme, werde ich diesen Post erweitern. Ulrich
  23. ...durch Zufall. Ich habe mehrere Foren nach dem Fehler durchsucht und in einem Post wurde diese Lösung vorgeschlagen. Und da nix zuvor funktioniert hat, habe ich halt diesen Tipp ausprobiert - eher aus Verzweiflung. Ich war völlig überrascht, als es tatsächlich funktioniert hat.
  24. iOS ist nicht nur ne Qual, sondern auch eine Schikane. Die möglichen Einstellungen und Optionen in X-Code führten zu keinem Ergebnis. Die Lösung ist folgende: - man erzeugt die App wie gewohnt - weiterhin erstellt man nun ein Verzeichnis "Payload" - in dieses Verzeichnis kopiert man das App-File - nun das Verzeichnis "Payload" samt Inhalt als ZIP-Datei komprimieren - das ZIP-File umbenennen in *.ipa - hochladen Das wars. Die App unterscheidet sich also in keinster Weise zu der abgewiesenen Variante, nur dass man ein Verzeichnis mit in das ZIP packen und das Ergebnis umbenennen muss. Dokumentiert wird der Vorgang auch nirgends... Mal gucken, was sich Apple noch so einfallen lässt. Ulrich
  25. Hallo, beim Hochladen einer neuen Version eines meiner Spiele bekomme ich beim Apllication Loader folgenden Fehler: ERROR ITMS-90520: "invalid package Applications built with SDK 9.0 or later must be packaged as proper IPA files." Hat jemand von euch auch schon einmal dieses Problem gehabt und wie habt ihr das gelöst? Vielen Dank für Hinweise, Ulrich
×
×
  • Create New...