วิธีโหลดรูปทั้งหมดจากโฟลเดอร์แบบไดนามิคขณะรันใน Unity by Ziah
Jun0
ในการจะโหลดรูปทั้งโฟลเดอร์มาใส่ไว้ตัวแปร Sprite ใน Unity C# นั้น มีวิธีง่ายๆดังนี้ครับ
- ขั้นแรก ห้ามพลาด รูปทั้งหมดถ้าจะใช้คำสั่ง Resources.Load หรือ Resources.LoadAll รูปทั้งหมดต้องอยู่ภายใต้โฟลเดอร์ Assets > Resources
- จากนั้นที่ Start() เราก็จะทำการโหลดรูปทั้งหมดมาใส่ Array ที่จะเก็บ Sprite (ในตัวอย่างจะใช้ Resources.LoadAll ซึ่งจะใช้ Resources.Load วนลูปชื่อไฟล์ทั้งหมดก็ได้)
public string race;
public string job;
public int form = 0;
public string gender;
private SpriteRenderer sr;
private Sprite[] sprites;
private string[] names;
void Start ()
{
sr = gameObject.GetComponent(); //เรียก GameObject คือตัวมันเอง
string assetPath = "unit_assets/"+race+job+((gender=="M"||gender=="F")?"_"+gender.ToLower():"")+((form>0)?"_"+form:"")+"/"; //ตั้งค่าโฟลเดอร์ที่มีรูปทั้งหมดที่ต้องการโหลดโดยต่อสตริงจากตัวแปรที่ได้มา (นับ Path จาก Resources ลงมา)
sprites = Resources.LoadAll(assetPath); //โหลดรูปทั้งหมดจากโฟลเดอร์มาใส่ Array ของ Sprite
names = new string[sprites.Length]; //นับจำนวนรูปทั้งหมดในโฟลเดอร์
for(int i = 0; i < names.Length; i++)
names[i] = sprites[i].name; //วนลูปเพื่อจำชื่อไฟล์ทำหมดไว้ในอีก Array
}
- เท่านี้รูปทั้งหมดก็จะมาอยู่ใน Array ในโค้ดเพื่อใช้ในการรัน Animation ต่อไปแล้วครับ ดาวน์โหลดโค้ดตัวอย่างที่นี่ครับ Click
หน้าฝนแล้ว หัดวาดร่มกันจ้า by Lynne
Jun0
เคยอ่านเจอที่ไหนสักแห่งบนโลก ว่ามีของที่ ‘tive ยากๆ อยู่หลายสิ่ง (จำได้ว่าสิบเอ็ดสิ่ง)
ที่คนหัดวาดรูปต้องควรวาดซักครั้ง
เพื่อฝึกทักษะการกะระยะ (พวก บันไดวน จังเกิ้ลจิม รถโฟล์คเต่า ฯลฯ)
และ หนึ่งในนั้นคือ ร่ม
เข้าหน้าฝนแล้ว หัดวาดร่มกันเต๊อะจะได้ไม่เปียก (หา?)
้ข้อห้ามข้อที่ 1 ในการจัด Event ภายในเกม by akara
Jun0
**ที่เขียนไว้ว่า ข้อที่ 1 ตั้งแต่ใน Title เลย เพราะว่า ณ ตอนนี้มีข้อเดียวที่เจอมากับตัวแบบชัดเจนครับ ว่าอนาคตจะไม่ทำแบบนี้อีกแล้ว ถ้าอนาคตเจอเหตุการณ์แบบเดียวกันอีกจะมาอัพเพิ่มเป็น ข้อ ที่ 2 3 4 ละกัน**
ในเดือนนี้(มิ.ย.57) เกม Cybermon มีกิจกรรมพิเศษเป็น อีเวนท์ล่าบอสครับ
สิ่งที่เกิดขึ้นคือ ผมกำหนดไว้ว่า พออีเวนท์เหลือ 3 วันสุดท้ายแล้ว ของรางวัลจะดรอปมากขึ้นเป็น 2 เท่า เพื่อจูงใจคนเล่นให้มาร่วมืกิจกรรมเยอะๆ (ทั้งอีเวนท์มีเวลา14วัน) ซึ่งส่วนนี้เป็นส่วนที่ไม่ได้แจ้งกับคนเล่นไว้ก่อนเพราะว่า แน่นอนถ้าคนเล่นรู้ก่อน ก็จะไม่มีใครเล่นเลยในช่วงแรกของกิจกรรม จะมาเล่นกันในช่วงท้ายหมดเพราะว่าคุ้มกว่า
ผลที่เกิดขึ้นก็คือคนเล่นส่วนใหญ่ไม่พอใจครับ เพราะว่าเค้ารู้สึกเหมือนโดนหักหลัง กับแรงกายแรงใจ ทรัพยากรต่างๆในเกมที่เค้าทุ่มไปแล้ว ตั้งแต่ช่วงแรกของกิจกรรม แต่ถ้ามาเล่นในช่วงท้ายของกิจกรรมจะได้ผลตอบแทนเยอะกว่ามาก
สุดท้ายทีมเลยจำเป็นต้องมอบรางวัลให้กับคนเล่นที่ทุ่มไปแล้วในช่วงแรกในได้เท่าๆกับในช่วงท้าย นั่นก็คือการเพิ่มของรางวัลที่คนเล่นได้รับไปแล้วในช่วงแรกอีกเท่านึง
ดังนั้นสิ่งที่ผมสรุปได้ว่าห้ามทำอีกในการจัด Event ภายในเกมคือ
“ห้ามทำEvent ซ้อน Event ที่ทำให้คนที่เล่น Event เดียวกันในช่วงแรกเสียเปรียบคนที่เล่นในช่วงที่สอง ถ้ามันคือ Event เดียวกันก็ควรมีกฎเหมือนกันชัดเจนตั้งแต่แรกไปเลย”
ใช้ Offset Path เพิ่มลูกเล่น by TAMA
Jun0
วาดเส้นขึ้นมาซักเส้น (แนะนำให้เป็นลายเส้นนะคะ ไม่ใช่ Object)
ทำมุมให้โค้งมนหน่อยโดยใช้ Effect >> Stylize >> Round Corners
ไปที่ Object >> Path >> Offset Path
จะมีหน้าต่างเล็กๆ เลือกความกว้างของแถบตามตัวอย่างค่ะ
กด OK ออกมาเป็นแบบนี้
ทำซ้ำๆๆๆ จนพอใจ เสร็จแล้ววว
ใช้วิธีนี้ทำกับลายเส้นที่ดัดแล้ว
จะทำให้ดูมีลูกเล่นในงานเพิ่มนะคะ