แสดงบทความที่มีป้ายกำกับ sourcecode แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ sourcecode แสดงบทความทั้งหมด

วันพุธที่ 31 ธันวาคม พ.ศ. 2557

แชร์โค้ด Unity : เปลี่ยนสี background กล้อง

ใช้ฟังชั่น Color.Lerp() ในการเขยิบค่าสีเดิมของแบคกราวกล้อง ให้ค่อยๆกลายไปเป็นสีใหม่ตามค่าสีที่ใส่ตัวแปร changeTo

การใช้งานให้ทำการใส่ค่าสีที่ต้องการเข้าไปในตัวแปร changeTo
อาจจะสั่งเปลี่ยนสีจากสคริปอื่นหรือตั้งเงื่อนไขการเปลี่ยนสีในสคริปนี้เลยก็ได้

using UnityEngine;
using System.Collections;

public class cameraBG : MonoBehaviour 
{
    public Color changeTo;

    void Update () 
    {
        camera.backgroundColor = Color.Lerp(camera.backgroundColorcurrentColor , Time.deltaTime);    
    }
}

แชร์โค้ด Unity : ตัวหนังสือลอยจาง

เป็นโค้ดควบคุมเอฟเฟกตัวหนังสือให้ลอยขึ้นและจางหายไป
ใช้กับตัวคู่กับวัตถุที่แสดงผลตัวอักษรด้วย TextMesh นะครับ

การใช้งานให้ลากวัตถุใส่ในตัวแปรก่อนจากใน Editor 
ใส่ข้อความที่ต้องการให้แสดงใน  text
ใส่ตำแหน่งที่ต้องการแสดงผลใน  popPos
ใส่สีเริ่มต้นใน startColor (สีจะจางลง)

using UnityEngine;
using System.Collections;

public class floatText : MonoBehaviour
{
    public TextMesh tm;
    public Vector3 popPos;
    public string text;
    public Color startColor;


    float timeCount = 0;

    void Start()
    {
        tm.text = text;
        transform.position = popPos;
        tm.color = startColor;
    }

    void Update () 
    {
        transform.position += Vector3.up *Time.deltaTime;
    
        timeCount += Time.deltaTime;

        if(timeCount > 1)
            tm.color -= new Color(000Time.deltaTime*5f);
    }
}

แชร์โค้ด Unity : เอฟเฟกสีจาง

ใช้วิธีค่อยๆลดค่า alpha ของสีที่อยู่ใน component ที่ควบคุมการแสดงผบของวัตถุนั้นอยู่ สำหรับเกม 3D ปกติจะเป็น mesh renderer สามารถดึงค่าสีได้จาก gameObject.renderer.material.color ส่วนในเกม 2D ที่ใช้ SpriteRenderer จะต้องทำการลากตัวนี้ขึ้นมาใส่เข้ามาก่อนถึงจะปรับเปลี่ยนค่าสีได้

โค้ดนี้ผมใช้บ่อยมากครับ ถ้าใครมีโค้ดที่ดีกว่านี้ก็แนะนำด้วยนะครับ :)

โค้ดสำหรับ 3D ที่ใช้ mesh renderer

using UnityEngine;
using System.Collections;

public class fadeOut3D : MonoBehaviour 

{
    void Update () 
    {
        renderer.material.color -= new Color (000Time.deltaTime);

        //พอสีจางจนมองไม่เห็นก็ Destroy วัตถุ
        if (renderer.material.color.a <= 0)
            Destroy (gameObject);
    }

}


วันอังคารที่ 30 ธันวาคม พ.ศ. 2557

แชร์โค้ด Unity : บอลเด้งขอบจอ

ปัญหาใหญ่ของการทำการเด้งแบบนี้คือถ้าเราใช้การเด้งกับ collider ตามปกติ เราจะไม่รู้ว่าขอบจออยู่ตรงไหนเราเอา collider ไปวางไม่ถูกที่เพราะจอของแต่ละเครื่องมันอัตราส่วนหรือขนาดไม่เท่ากัน เลยเลยใช้คำสั่ง Camera.main.ScreenToWorldPoint() เพื่อหาตำแหน่งขอบจอแล้วนำมากำหนดระยะการเด้งของลูกบอล โค้ดอาจจะยาวๆก็ลองแกะกันดูเนาะ โค้ดส่วนนี้ได้เอาไปใช้งานจริงในเกม Kick it Up! บน Android ก็ลองเล่นกันดูได้

สารบัญแชร์โค้ด

รวมโค้ดทั้งหมดที่แชร์บนบล้อก(6)
กด Ctrl + F เพื่อค้นหาจากชื่อ

ตัวหนังสือลอยจาง
บอลเด้งขอบจอ
เปลี่ยนสี background กล้อง
ส่งตัวแปรข้ามคลาส
เอฟเฟกสีจาง
อักษรลอยจาง
การมองเห็นของบอต
แสดงกราฟคลื่นเสียง

- ENGLISH-
Camera background color transition
Edge bounce
Effect Fade Color
Fade Color
Float Text
Pass variable between class
Bot visible range and get object
Sound wave visualizer


แชร์โค้ด Unity : ส่งตัวแปรข้ามคลาส

ตัวอย่างโค้ดการส่งตัวแปรข้ามคลาส
ส่งตัวแปร score จากคลาส a ไปยังคลาส b1 และ b2 (ใช้คนละวิธีกัน)
หรืออาจจะบอกว่าเป็นการเรียกตัวแปร score จากคลาสอื่นก็ได้

โค้ดตัวแรก class a

using UnityEngine;
using System.Collections;

public class a : MonoBehaviour
{
public int score = 0;

void Update ()
    {
//Do something with score
        score++;
}
}