Jump to content
Unity Insider Forum

Jammi

Members
  • Content count

    13
  • Joined

  • Last visited

Community Reputation

1 Neutral

About Jammi

  • Rank
    Member
  • Birthday July 7

Profile Information

  • Gender
    Male
  • Location
    Germany

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Jammi

    Bild -> Terrain

    Vielen Dank! Du hast mir so unendlich weitergeholfen <3!
  2. Jammi

    Bild -> Terrain

    Okay, das werde ich versuchen
  3. Jammi

    Bild -> Terrain

    Da hab ich noch nie von gehört... Aber ich habe den Mapumriss einfach in Photoshop ausgeschnitten und möchte es jetzt auf mein Terrain übertragen. Den Rest krieg ich hin! ICH KÖNTE HILFE MIT DEM SCRIPT BENÖTIGEN
  4. Jammi

    Bild -> Terrain

    Hallo! Ich arbeite gerade an einem RPG. Die Karte soll auf ein Terrain aufbauen. Da die Spielewelt auf einer Insel sein soll, muss ich den Umriss mit einem Script auf das Terrain übertragen. Ich weiß leider nur nicht wie! Habt ihr grobe Ideen oder Tipps, wie ich das umsetzen könnte? (Wem's hilft... Karte im Anhang!) LG JAN!
  5. Hallo! Ich habe ein Quizspiel entwickelt, indem es auf GESCHICK, TEMPO und WISSEN ankommt! Das Spiel heißt Quizmaster und ist auf Allgemeinwissen ausgelegt. Ich werde noch ein wenig an dem Fragenfilter arbeiten und Power-UPS einbauen. Aber darum soll es nicht gehen! Ich suche Leute die sich Fragen ausdenken[Es reichen auch ein oder zwei]! Jeder der möchte kommt auch in die Spiele-Credits. So sollte der Forumbeitrag aussehen: [Ja/Nein Frage]: -Frage Text: Ist der Fernsehturm das höchste Gebäude in Berlin? -Richtige Antwort: Ja -Credits: ? (Ja/Nein) [ABCD Frage]: -Frage Text: Wer war der erste Präsident der USA? -AntwortmöglichkeitA: George Washington -AntwortmöglickeitB: John Adams -AntwortmöglichkeitC: Abraham Lincoln -AntwortmöglichkeitD: Harry S. Truman -Richtige Antwort: A -Credits: ? (Ja/Nein) Ich danke jedem der sich die Mühe macht und das liest! Danke! LG JAN
  6. Ahh geht! OMG Danke!
  7. Nein! Ich probier's mal aus
  8. Ich kann dir da leider nicht so gut weiterhelfen. SORRY! Gibt aber sicher jemanden der dir mit deinem Problem helfen kann!
  9. Ich würde vielleicht mit einem Trigger arbeiten. Hier ist ein Tutorial zu Triggern von Unity selbst: https://unity3d.com/de/learn/tutorials/topics/physics/colliders-triggers Ich weiß nicht ob ich dir helfen konnte, aber ich denke ein Versuch war es wert! LG JAN!
  10. Es funktioniert soweit, aber leider nur im Editor!
  11. Hier ist noch eine Manager.cs Datei, die für das verarbeiten ist: using System.Collections.Generic; using System.Collections; using System.Linq; using UnityEngine; using UnityEngine.UI; using UnityEngine.SceneManagement; using Quiz.Entities; using Assets.Scripts; using System.Text; using System; public class Manager : MonoBehaviour { public GameObject aButton; public GameObject bButton; public GameObject cButton; public GameObject dButton; public GameObject trueButton; public GameObject falseButton; public GameObject abcdPanel; public GameObject trueFalsePanel; public int score; public Question[] questions; private bool answered; [SerializeField] private Text factText; [SerializeField] private Text scoreText; private Question text; [SerializeField] private float delay = 0f; private Question currentQuestion; public Image timeBar; void Start() { questions = QuestionDeserializer.Deserialize(".\\assets\\Questions.txt").Values.ToArray(); StartCoroutine(Timer()); SetCurrentQuestion(); } void SetCurrentQuestion() { System.Random rnd = new System.Random(); var notAnswered = questions.Where(q => q.IsAnswered == false).OrderBy(item => rnd.Next()).FirstOrDefault(); if (notAnswered == null) { SceneManager.LoadScene(3); return; } currentQuestion = notAnswered; factText.text = currentQuestion.QuestionText; SetLayout(); } #region Layout private void SetLayout() { if (currentQuestion.QuestionArt == QuestionArt.TrueFalse) { SetButtonsActive(false); } else { SetButtonsActive(true); aButton.GetComponentInChildren<Text>().text = currentQuestion.TextA; bButton.GetComponentInChildren<Text>().text = currentQuestion.TextB; cButton.GetComponentInChildren<Text>().text = currentQuestion.TextC; dButton.GetComponentInChildren<Text>().text = currentQuestion.TextD; } } private void SetButtonsActive(bool forAbc) { trueFalsePanel.gameObject.SetActive(!forAbc); aButton.gameObject.SetActive(forAbc); bButton.gameObject.SetActive(forAbc); cButton.gameObject.SetActive(forAbc); dButton.gameObject.SetActive(forAbc); abcdPanel.gameObject.SetActive(forAbc); trueButton.gameObject.SetActive(!forAbc); falseButton.gameObject.SetActive(!forAbc); } #endregion #region Answers public void UserSelectTrue() { UserAnswered(0); } public void UserSelectFalse() { UserAnswered(1); } public void UserSelectA() { UserAnswered(0); } public void UserSelectB() { UserAnswered(1); } public void UserSelectC() { UserAnswered(2); } public void UserSelectD() { UserAnswered(3); } private void UserAnswered(int answerCode) { if (currentQuestion.QuestionAnswer == answerCode) { StopCoroutine(Timer()); StartCoroutine(TransitionToNextQuestion()); currentQuestion.IsAnswered = true; questions[currentQuestion.QuestionId - 1] = currentQuestion; score++; } else { foreach(Question q in questions) { q.IsAnswered = false; } SceneManager.LoadScene(2); } } #endregion #region Helpers private void Update() { StartCoroutine(Timer()); PlayerPrefs.SetInt("Score", score); scoreText.text = "Score: " + PlayerPrefs.GetInt("Score").ToString(); } IEnumerator Timer() { if (answered == false) { yield return new WaitForSeconds(0.5f); timeBar.fillAmount = timeBar.fillAmount - 0.002f; } if (timeBar.fillAmount > 1) StartCoroutine(Timer()); if(timeBar.fillAmount == 0) { SceneManager.LoadScene(2); } } IEnumerator TransitionToNextQuestion() { yield return new WaitForSeconds(delay); SetCurrentQuestion(); timeBar.fillAmount = 1; } #endregion }
  12. Hallo! Ich benötige etwas Hilfe. Ich bastle an einem kleinen Quiz. Die Fragen aus diesem Quiz werden aus einer .txt Datei ausgelesen. Struktur der .txt Datei: QuestionId: 1 QuestionText: Hier steht die Frage DifficultyLevel: Low/Medium/High QuestionArt: TrueFalse/ABCD QuestionAnswer: 0/1/(2/3 Nur wenn ABCD) UnlockFromScores: 0 # Das alles wird mit Hilfe von zwei Scripts augelesen und verarbeitet. QuestionDeserializer: using Quiz.Entities; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; namespace Assets.Scripts { public static class QuestionDeserializer { public static Dictionary<int, Question> Deserialize(string path) { var result = new Dictionary<int, Question>(); using (StreamReader reader = new StreamReader(path)) { string questionId = string.Empty; Question question = null; string line; while ((line = reader.ReadLine()) != null) { if (line.IndexOf(':') == -1) continue; var propertyName = line.Substring(0, line.IndexOf(':')); var propertyValue = line.Substring(line.IndexOf(':') + 1).Trim(); if (propertyName == "QuestionId" && propertyValue != questionId) { if (question != null) result.Add(question.QuestionId, question); int id; question = int.TryParse(propertyValue, out id) ? CreateQuestion(id) : null; } if (propertyName == "QuestionText" && question != null) question.QuestionText = propertyValue; if (propertyName == "DifficultyLevel" && question != null) question.DifficultyLevel = (DifficultyLevel)Enum.Parse(typeof(DifficultyLevel), propertyValue, true); if (propertyName == "QuestionArt" && question != null) question.QuestionArt = (QuestionArt)Enum.Parse(typeof(QuestionArt), propertyValue, true); if (propertyName == "QuestionAnswer" && question != null) question.QuestionAnswer = int.Parse(propertyValue); if (propertyName == "TextA" && question != null) question.TextA = propertyValue; if (propertyName == "TextB" && question != null) question.TextB = propertyValue; if (propertyName == "TextC" && question != null) question.TextC = propertyValue; if (propertyName == "TextD" && question != null) question.TextD = propertyValue; if (propertyName == "UnlockFromScores" && question != null) question.UnlockFromScores = int.Parse(propertyValue); } if (question != null) result.Add(question.QuestionId, question); } return result; } private static Question CreateQuestion(int questionId) { return new Question(questionId); } } } Question: using System; namespace Quiz.Entities { public enum QuestionArt { ABC, TrueFalse } public enum DifficultyLevel { Low, Medium, High } [System.Serializable] public class Question { private int _questionId; private string _questionText; private QuestionArt? _questionArt; private DifficultyLevel? _difficultyLevel; private int _questionAnswer; private int _unlockFromScores; private bool _isAnswered; private string _textA; private string _textB; private string _textC; private string _textD; public int QuestionId { get { return _questionId; } set { _questionId = value; } } public string QuestionText { get { return _questionText; } set { _questionText = value; } } public QuestionArt? QuestionArt { get { return _questionArt; } set { _questionArt = value; } } public DifficultyLevel? DifficultyLevel { get { return _difficultyLevel; } set { _difficultyLevel = value; } } public int UnlockFromScores { get { return _unlockFromScores; } set { _unlockFromScores = value; } } public int QuestionAnswer { get { return _questionAnswer; } set { _questionAnswer = value; } } public string TextA { get { return _textA; } set { _textA = value; } } public string TextB { get { return _textB; } set { _textB = value; } } public string TextC { get { return _textC; } set { _textC = value; } } public string TextD { get { return _textD; } set { _textD = value; } } public bool IsAnswered { get { return _isAnswered; } set { _isAnswered = value; } } public Question(int questionId) { QuestionId = questionId; } } } Alles Funktioniert soweit. Die Fragen werden angezeigt und man kann alles einwandfrei beantworten, jedoch nachdem das Projekt als fertiger Build gestartet wird, wird keine Frage mehr ausgelesen und nur der Placeholder und die Antwortbuttons sind zusehen. Danke im Voraus! LG JAN
×