Tutorial Unity - Quiz - IMedia9 - Creative Networks

Breaking

Thursday 2 October 2014

Tutorial Unity - Quiz

Halo semuanya apa kabar? Hari ini gue mau kasih tutorial singkat soal bikin-bikin quiz yang direquest sama mas Arif Aridho dan mas Gigih. Sebenernya bikin game quiz ini gampang banget kok, cuma masalah mau bikin kayak gimana mekanisme kuisnya dan persoalan klise, "mempercantik" tampilan.



Nah, berhubung gue lagi super sibuk, jadi tutorial ini gue bikin super ngebut, bagi yang ga bisa mengikuti... ITU URUSAN LO! Emangnya gue pikiran, huahahaha *mode dosen geje kumat: on"

Langkah pertama adalah agan bikin project baru dan tambahin GUISkin, Script dengan nama Quiz dan gambar buat dijadiin tombol.


Klik GUISkin dan atur-atur deh setingan skinnya untuk tombol dan label. Asal-asalan aja deh setingnya nggak masalah.

Kalao ini untuk seting label. Kurang lebih gitulah nyeting Skin.

Nah, kalo udah nyeting Skin langsung aja agan ketik Script ini:

1:  using UnityEngine;  
2:  using System.Collections;  
3:  public class Quiz : MonoBehaviour {  
4:       [System.Serializable]  
5:       public class Question{  
6:            public string qCode;  
7:            public string qQuestionText;  
8:            public string qAnswer1l;  
9:            public string qAnswer12;  
10:            public string qAnswer13;  
11:            public int qKeyAnswer;  
12:            public int qUserAnswer;  
13:       }  
14:       public int CurrentQuestionIndex;  
15:       public GUISkin mySkin;  
16:       public float Score;  
17:       public Question[] myQuestion;  
18:       // Use this for initialization  
19:       void Start () {  
20:            CurrentQuestionIndex = 0;  
21:            Score = 0;  
22:       }  
23:       // Update is called once per frame  
24:       void Update () {  
25:       }  
26:       void OnGUI () {  
27:            GUI.skin = mySkin;  
28:            GUILayout.BeginArea(new Rect(Screen.width/4,Screen.height/4,Screen.width/2,Screen.height/2));  
29:            GUILayout.Label(Score.ToString("F1"), mySkin.box);  
30:            GUILayout.Label(myQuestion[CurrentQuestionIndex].qQuestionText);  
31:            if (GUILayout.Button(myQuestion[CurrentQuestionIndex].qAnswer1l,mySkin.button)){  
32:                 myQuestion[CurrentQuestionIndex].qUserAnswer = 1;  
33:                 CalculateResult();  
34:                 GoNextQuestion();  
35:            }  
36:            if (GUILayout.Button(myQuestion[CurrentQuestionIndex].qAnswer12)){  
37:                 myQuestion[CurrentQuestionIndex].qUserAnswer = 2;  
38:                 CalculateResult();  
39:                 GoNextQuestion();  
40:            }  
41:            if (GUILayout.Button(myQuestion[CurrentQuestionIndex].qAnswer13)){  
42:                 myQuestion[CurrentQuestionIndex].qUserAnswer = 3;  
43:                 CalculateResult();  
44:                 GoNextQuestion();  
45:            }  
46:            GUILayout.EndArea();  
47:       }  
48:       void GoNextQuestion(){  
49:            if (CurrentQuestionIndex < myQuestion.Length-1){  
50:                 CurrentQuestionIndex++;  
51:            }  
52:       }  
53:       void GoPrevQuestion(){  
54:            if (CurrentQuestionIndex > 0){  
55:                 CurrentQuestionIndex--;  
56:            }  
57:       }  
58:       void CalculateResult(){  
59:            float Total = 0;  
60:            for (int i=0; i< myQuestion.Length; i++){  
61:                 if (myQuestion[i].qKeyAnswer == myQuestion[i].qUserAnswer){  
62:                      Total = Total + 1;   
63:                 }  
64:            }  
65:            Total = Total / myQuestion.Length * 100;  
66:            Score = Total;  
67:       }  
68:  }  

Pasang scriptnya di Main Camera. Terus atur isinya kayak gini:


Intinya adalah, script bakalan ngecek apakah nilai kunci jawaban sama dengan nilai yang diklik sama user (per buttonnya), terus hasilnya ditampilin berupa angka. Dalam tutorial ini, pertanyaan no 1 jawabannya adalah pilihan 1 (bisa juga diganti A), pertanyaan no 2 jawabannya adalah pilihan 2 (bisa juga diganti B), dan pertanyaan no 3 jawabannya adalah pilihan 3 (bisa juga diganti C). Kalo nggak ngurut gimana? Gimana coba? Mikir! Emang mesti ngurut? Mikir! Jadi kalo pertanyaan no 10 jawabannya mesti 10? Jadi pilihan gandannya bukan a,b,c,d tapi a,b,c,d,e,f,g,h,i,j? Mikir! Bisa mikir kan?
Model quiz ini pengembangannya bisa banyak, bisa ada button next/back dengan kalkulasi nilai di belakang, atau model langsung kayak gini. Terserah agan aja deh.

Karena yang terpenting bukan tutorialnya, tetapi Like-nya. Sudahkah agan Like Kiky Si Kancil? Mikir! Baca-baca tutorial tapi nggak nge-like Kiky Si Kancil? Mikir! Nggak tahu ya kalau bikin tutorial itu susah loh. Ini bikinnya pake komputer loh, bukan pake ulekan sepeda. Mikir! Ulekan itu buat bikin rujak kenapa jadi sepeda? Hayo, siapa tadi yang mikir masalah ulekan sepeda? Daripada cengar-cengir, Like Kiky Si Kancil atuh! Da bageur!


7 comments: