Jump to content
Unity Insider Forum
  • Announcements

    • Lars

      Allgemeine Forenregeln   03/13/2017

      Forenregeln Nimm dir bitte einen Moment um die nachfolgenden Regeln durchzulesen. Wenn du diese Regeln akzeptierst und die Registration fortsetzen willst, klick einfach auf den "Mit der Registrierung fortfahren"-Button. Um diese Registration abzubrechen, klick bitte einfach auf den "Zurück" Button deines Browsers. Wir garantieren nicht für die Richtigkeit, Vollständigkeit und Brauchbarkeit der Nachrichten und sind auch nicht dafür verantwortlich. Die Beiträge drücken die Meinung des Autors des Beitrags aus, nicht zwangsläufig das, wofür die Forensoftware steht. Jeder Nutzer, der denkt, dass ein veröffentlichter Beitrag unzulässig bzw. störend ist, ist aufgefordert uns unverzüglich per E-Mail zu kontaktieren. Wir haben das Recht störende Beiträge zu löschen und bemühen uns, das in einem realistischem Zeitraum zu erledigen (sofern wir beschlossen haben, dass die Löschung notwendig ist). Du akzeptierst, durchgehend während der Nutzung dieses Services, dass du dieses Forum nicht dazu missbrauchen wirst, Inhalte zu veröffentlichen, welche bewusst falsch und/oder verleumderisch, ungenau, beleidigend, vulgär, hasserfüllt, belästigend, obszön, sexuell belästigend, bedrohlich, die Privatsphäre einer Person verletzend oder in irgend einer Art und Weise das Gesetz verletzen. Des Weiteren akzeptierst du, dass du keine urheberrechtlich geschützte Inhalte ohne Erlaubnis des Besitzers in diesem Forum veröffentlichst. Mit dem Klick auf den "Mit der Registrierung fortfahren"-Button, akzeptierst du zudem unsere Datenschutzerklärung und stimmst der Speicherung deiner IP-Adresse und personenbezogenen Daten zu, die dafür benötigt werden, um dich im Falle einer rechtswidrigen Tat zurückverfolgen zu können bzw. permanent oder temporär aus dem Forum ausschließen zu können. Es besteht keine Pflicht zur Abgabe der Einwilligung, dies erfolgt alles auf freiwilliger Basis.   Zusatzinformationen Der Forenbetreiber hat das Recht, Nutzer ohne Angabe von Gründen permanent aus dem Forum auszuschließen. Des Weiteren hat er das Recht, Beiträge, Dateianhänge, Umfrage, Blogeinträge, Galleriebilder oder Signaturen ohne Angabe von Gründen zu entfernen. Mit der Registrierung verzichtest du auf alle Rechte an den von dir erstellten Inhalten, bzw. treten diese an das Unity-Insider.de und Unity-Community.de ab. Dies bedeutet im Klartext, dass das Unity-Insider.de und Unity-Community.de frei über deine Texte verfügen kann, sofern diese nicht wiederum die Rechte anderer verletzen. Es besteht weiterhin kein Anspruch von registrierten Nutzern bzw. ehemaligen registrierten Nutzern darauf, dass erstellte Inhalte und/oder die Mitgliedschaft (User) wieder gelöscht werden (Erhaltung der Konsistenz dieses Forums).   Einwilligungserklärung Wenn du mit der Speicherung deiner personenbezogenen Daten sowie den vorstehenden Regeln und Bestimmungen einverstanden bist, kannst du mit einem Klick auf den Mit der Registrierung fortfahren-Button unten fortfahren. Ansonsten drücke bitte Zurück. Stand: 07.03.2011

Kojote

Members
  • Content count

    335
  • Joined

  • Last visited

  • Days Won

    2

Kojote last won the day on October 13

Kojote had the most liked content!

Community Reputation

13 Gut

About Kojote

  • Rank
    Advanced Member

Profile Information

Recent Profile Visitors

356 profile views
  1. SGD Geprüfter c# Programmierer

    Ist zwar schon etwas spät, aber ich nutze den Kurs derzeit. Ich kam mit den Büchern wenig zurecht, trotz intensivem Lernen, mit Lehrgang klappts um längen besser.
  2. Grüß Euch! Ich plane ja seit einer weile ein Multiplayer Spiel. Nun, da ich so etwas noch nie gemacht habe, bräuchte ich ein paar gute Tutorials, leider finde ich keine, die mir so richtig weiter helfen. Angefangen vom Login, der Registrierung und dem herum laufen suche ich Tutorials. Es geht bei dem Spiel nicht um eine reine Netzwerkverbindung, sondern um ein Online-Spiel bei dem man beitreten kann und nicht eine Verbindung zu nur einem Spieler aufbaut. Hoffe mal ich drücke mich richtig aus. Habt ihr da ein paar Empfehlungen für mich? Grüße von Kojote
  3. So, bin mal wieder dazu gekommen, etwas daran zu arbeiten. Selbst mit dieser Version funktioniert es nicht. Es ist echt zum verzweifeln! EDIT: OK, Login geht, nur das Leaderborder wird nicht angezeigt. @GoldBaercheN - hast du dafür auch noch eine Idee? EDIT 2: Hat sich geklärt, dass Problem lag nicht an meinem Script. Der Bug war im Google-Play-Games-Package und wurde mit Version 0.9.2 gefixt.
  4. Ich steuere das Login über einen Button, genau so das Logout, werd den Script mal Testen, danke dir!
  5. Musik bei Scenewechsel

    Sehr interessant, man lernt immer was dazu! Vielen Dank!
  6. Hallo! Ich sitze seit Tagen, um den Googly Play Service in meine App zu integrieren. Ich arbeite nach dem Tutorial, welches es zu Unity gibt, kein Scriptfehler, aber trotzdem lässt sich keine Verbindung herstellen. Seht ihr einen Fehler? using UnityEngine; using GooglePlayGames; using UnityEngine.SocialPlatforms; using GooglePlayGames.BasicApi; using GooglePlayGames.Android; using UnityEngine.UI; public class Google : MonoBehaviour { private static int googleLogin; private void Start() { googleLogin = 0; googleLogin = PlayerPrefs.GetInt("GoogleLogin", googleLogin); PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder().Build(); PlayGamesPlatform.DebugLogEnabled = true; PlayGamesPlatform.InitializeInstance(config); PlayGamesPlatform.Activate(); if(googleLogin == 1) { PlayGamesPlatform.Instance.Authenticate((bool succes) => { if (succes) { googleLogin = 1; } else { googleLogin = 0; } PlayerPrefs.SetInt("GoogleLogin", googleLogin); PlayerPrefs.Save(); }); } } public void LogIn() { audioSourceSound.PlayOneShot(arraySFX[0]); PlayGamesPlatform.Instance.Authenticate((bool succes) => { if (succes) { googleLogin = 1; Debug.Log("HAPPY!"); } else { googleLogin = 0; Debug.Log("ERROR!"); } PlayerPrefs.SetInt("GoogleLogin", googleLogin); PlayerPrefs.Save(); }, true); } public void LogOut() { if (Social.localUser.authenticated) { ((PlayGamesPlatform)Social.Active).SignOut(); googleLogin = 0; PlayerPrefs.SetInt("GoogleLogin", googleLogin); PlayerPrefs.Save(); } } public static void PunkteInBestenlisteEintragen(int punkteHighscore) { if (Social.localUser.authenticated) { Social.ReportScore(punkteHighscore, GPGSIds.leaderboard_highscore, (bool success) => { }); } } public void BestenlisteAnzeigen() { if (Social.localUser.authenticated) { ((PlayGamesPlatform)Social.Active).ShowLeaderboardUI(GPGSIds.leaderboard_highscore); } } }
  7. Musik bei Scenewechsel

    Ist schon klar, dass Static nur einmal existiert, es ist recht unschön ausgedrückt, eine Globale Variable, die nur einmal existiert. Jedoch, wie greife ich nun bei AudioSource auf Volume zu, um die Lautstärke zu ändern, ohne einen Zugriff zu schaffen? Ohne Objekt Find, ist das schlecht möglich.
  8. Musik bei Scenewechsel

    So richtig verstehe ich das jetzt nicht. Ich muss ja trotzdem von einem anderen Script auf AudioSource zugreifen. Wie würde da der Zugriff darauf aussehen? Derzeit mache ich das so: AudioSource audioSourceMusik = GameObject.Find("Musik").GetComponent<AudioSource>(); Man könnte es auch so machen: Aufruf: audioSourceMusik = HEX_Musik_Steuerung.audioSourceMusik; Klasse: [RequireComponent(typeof(AudioSource))] public class Musik_Steuerung : MonoBehaviour { private static Musik_Steuerung singleton; public static AudioSource audioSourceMusik; void Awake() { if (singleton) { Destroy(gameObject); } else { singleton = this; DontDestroyOnLoad(this); audioSourceMusik = GetComponent<AudioSource>(); } } } Nur weiß ich nicht, ob das immer klappt.
  9. Musik bei Scenewechsel

    Merk ich glaube ich gerade, dass steht in meiner Hauptmenüsteuerung, in Awake: if (GameObject.FindGameObjectsWithTag("Musik").Length > 1) { GameObject zerstoeren = GameObject.Find("Musik"); Destroy(zerstoeren); } musikObjekt = GameObject.Find("Musik"); DontDestroyOnLoad(musikObjekt); audioSourceMusik = musikObjekt.GetComponent<AudioSource>(); Das in meiner Spielesteuerung, in Awake: if (GameObject.FindGameObjectsWithTag("Musik").Length > 1) { GameObject zerstoeren = GameObject.Find("Musik"); Destroy(zerstoeren); } musikObjekt = GameObject.Find("Musik"); DontDestroyOnLoad(musikObjekt); audioSourceMusik = musikObjekt.GetComponent<AudioSource>(); Am Anfang macht er alles richtig, das Objekt "musikObjekt" wird in DontDestroyOnLoad geladen. Das Spiel wird geladen und übernommen. Wenn ich nun aber zurück ins Hauptmenü wechsel, wird das Musikobjekt nicht mehr in DontDestroyOnLoad geschoben und wenn ich das nächste mal ein Level lade, findet er kein musikObjekt -> ERROR! Warum übernimmt er das nicht? Jetzt probier ich mal den Script von @Sascha aus. Gleich mal ne Frage, wie greife ich nun auf die Audio Komponente zu, die in diesem Gameobjekt ist? Des weiteren, wie funktioniert der Spaß? Anscheinend löst das zumindest das Problem, was ich oben schrieb.
  10. Musik bei Scenewechsel

    Ich habs mal so versucht: if(GameObject.FindGameObjectsWithTag("Musik").Length > 1) { GameObjekt zerstoeren = GameObject.Find("Musik"); Destroy(zerstoeren); } DontDestroyOnLoad(musikObjekt); musikObjekt = GameObject.Find("Musik"); audioSourceSound = musikObjekt.GetComponent<AudioSource>(); Jedoch landet das musikObjekt nicht in DontDestroyOnLoad, wenn ich das Spiel starte. EDIT: Ja ne, is klar, erst das Objekt mit DontDestroyOnLoad sichern und danach finden. Umgekehrt klappts vielleicht deutlich besser! Vielen Dank @malzbie
  11. Musik bei Scenewechsel

    OK wird probiert! Aber wie ist das mit dem DontDestroyOnLoad? Wenn ich dann zwischen den Szenen hin und her wechsel wird der ja immer mit geschliffen, summiert sich das ganze dann nicht?
  12. Musik bei Scenewechsel

    Grüß! Ich habe gerade ein kleiens Problem. In Scene 1 habe ich eine Hintergrundmusik laufen. Dafür ist GameObjakt "Musik" mit der Componente Audio Source zuständig, steuerung über mein Hauptmenü Script. Wenn ich das Theme wechsel, soll die Musik weiter gespiel werden. In Scene 2 habe ich ebenfalls ein GameObjekt "Musik" mit der Componente Audio Source. Hier soll nun die Musik Natlot in einander übergehen, beim Wechsel wird die Musik aber neu gestartet. Was kann ich dagegen unternehmen?^^ Grüße von Kojote
  13. MissingMethodException: Method not found

    Fehler gefunden, ist ein Bug in Unity. Es werden beim Import nicht immer alle Dateien importiert. Recht einfache Lösung: 1. Neues Projekt aufmachen und in Services "Analytics" und "In-App Purchasing" aktivieren. 2. In "In-App Purchasing" auf Import klicken. 3. Es wird unter "Assets" ein neuer Ordner angelegt, dieser heißt "Plugin", in ihm werden zwei Ordner erzeugt "UnityChannel" und "UnityPurchasing" 4. Unity Beenden, Windows Explorer öffnen, die Ordner "UnityChannel" und "UnityPurchasing" aus dem neuen Projekt kopieren und an der selben Stelle im eigenen Projekt einfügen. Dabei alle Dateien und Ordner von "UnityChannel" und "UnityPurchasing" überschreiben. Fertig und weiterhin viel Spaß!
  14. Grüße! Ich bräuchte mal wieder etwas Hilfe von Euch. Ich versuche gerade einen Ingame- Hsop in meine App zu integrieren, halte mich an diese Anleitung: https://unity3d.com/de/learn/tutorials/topics/ads-analytics/integrating-unity-iap-your-game Habe auch den Code übernommen der dazu ist, jedoch habe ich eine Fehlermeldung, in dieser Zeile: var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance()); Das wäre mein Code: using System; using System.Collections.Generic; using UnityEngine; using UnityEngine.Purchasing; public class Shop : MonoBehaviour, IStoreListener { public Hauptmenue_Steuerung hauptmenueSteuerung; public Werbung_Hauptmenue werbungHauptmenue; private static IStoreController m_StoreController; private static IExtensionProvider m_StoreExtensionProvider; public static string kProductIDFreischaltungWerbung = "werbung"; // Apple App Store-specific product identifier for the subscription product. private static string kProductNameAppleSubscription = "com.unity3d.subscription.new"; // Google Play Store-specific product identifier subscription product. private static string kProductNameGooglePlaySubscription = "com.unity3d.subscription.original"; void Start() { // If we haven't set up the Unity Purchasing reference if (m_StoreController == null) { // Begin to configure our connection to Purchasing InitializePurchasing(); } if(IsInitialized()) { // Reaktivierung von Käufen Product product = m_StoreController.products.WithID(kProductIDFreischaltungWerbung); if (product != null && product.hasReceipt) { hexHauptmenueSteuerung.buttonKaufWerbung.SetActive(false); HEX_Werbung_Hauptmenue.werbungAktiv = 0; PlayerPrefs.GetInt("WerbungAktiv", 0); PlayerPrefs.Save(); } } } public void InitializePurchasing() { if (IsInitialized()) { return; } var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance()); builder.AddProduct(kProductIDFreischaltungWerbung, ProductType.NonConsumable); UnityPurchasing.Initialize(this, builder); } private bool IsInitialized() { return m_StoreController != null && m_StoreExtensionProvider != null; } public void KaufFreischaltungWerbung() { BuyProductID(kProductIDFreischaltungWerbung); } void BuyProductID(string productId) { // If Purchasing has been initialized ... if (IsInitialized()) { // ... look up the Product reference with the general product identifier and the Purchasing // system's products collection. Product product = m_StoreController.products.WithID(productId); // If the look up found a product for this device's store and that product is ready to be sold ... if (product != null && product.availableToPurchase) { Debug.Log(string.Format("Purchasing product asychronously: '{0}'", product.definition.id)); // ... buy the product. Expect a response either through ProcessPurchase or OnPurchaseFailed // asynchronously. m_StoreController.InitiatePurchase(product); } // Otherwise ... else { // ... report the product look-up failure situation Debug.Log("BuyProductID: FAIL. Not purchasing product, either is not found or is not available for purchase"); } } // Otherwise ... else { // ... report the fact Purchasing has not succeeded initializing yet. Consider waiting longer or // retrying initiailization. Debug.Log("BuyProductID FAIL. Not initialized."); } } public void OnInitialized(IStoreController controller, IExtensionProvider extensions) { // Purchasing has succeeded initializing. Collect our Purchasing references. Debug.Log("OnInitialized: PASS"); // Overall Purchasing system, configured with products for this application. m_StoreController = controller; // Store specific subsystem, for accessing device-specific store features. m_StoreExtensionProvider = extensions; } public void OnInitializeFailed(InitializationFailureReason error) { Debug.Log("OnInitializeFailed InitializationFailureReason:" + error); } public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs args) { if (String.Equals(args.purchasedProduct.definition.id, kProductIDFreischaltungWerbung, StringComparison.Ordinal)) { hauptmenueSteuerung.buttonKaufWerbung.SetActive(false); int internetAktiv = PlayerPrefs.GetInt("InternetAktiv"); if (internetAktiv == 1) { werbungHauptmenue.BannerWerbungZerstoeren(); } PlayerPrefs.GetInt("WerbungAktiv", 0); PlayerPrefs.Save(); } else { Debug.Log(string.Format("ProcessPurchase: FAIL. Unrecognized product: '{0}'", args.purchasedProduct.definition.id)); } return PurchaseProcessingResult.Complete; } public void OnPurchaseFailed(Product product, PurchaseFailureReason failureReason) { Debug.Log(string.Format("OnPurchaseFailed: FAIL. Product: '{0}', PurchaseFailureReason: {1}", product.definition.storeSpecificId, failureReason)); } } Das ist die Fehlermeldung: MissingMethodException: Method not found: 'UnityEngine.Debug.get_unityLogger'. UnityEngine.Purchasing.StandardPurchasingModule.Instance () Shop.InitializePurchasing () (at Assets/Scripts/Shop.cs:45) Shop.Start () (at Assets/Scripts/Shop.cs:25) Habt ihr eine Idee, was hier falsch läuft? Schon einmal Danke und grüße Kojote
×