irpg Community
Game Maker GMS : เล่น ๆ กับแสดงสีตัวอักษร - Printable Version

+- irpg Community (https://irpg.in.th)
+-- Forum: irpg Fabella Game Maker Academia (https://irpg.in.th/forum-29.html)
+--- Forum: The Great Game Maker Library (https://irpg.in.th/forum-31.html)
+--- Thread: Game Maker GMS : เล่น ๆ กับแสดงสีตัวอักษร (/thread-2852.html)



Game Maker GMS : เล่น ๆ กับแสดงสีตัวอักษร - sitplay - 05-06-2016

เล่น ๆ กับ code แสดงสี


1. สร้าง object ใหม่ขึ้นมาชื่อ obj_rainbow
2. Add event draw ใหม่ เพิ่ม code ดังนี้

Code:
1. draw_set_font(fnt_default);
2. var strtext="RAINBOW";
3 . var w=0;
4. draw_set_color(c_black);
5. draw_text(x+2,y+2,strtext);
6. for(var i =1 ; i <= string_length(strtext);i++){
7.  var t = string_char_at(strtext,i);
8.  randomize();
9.  var color = make_colour_rgb(irandom(255), irandom(255), irandom(255));
10.  draw_set_color(color);
11.  draw_text(x+w,y,string(t));
12.  w+=string_width(t);  
}

3. สร้าง Room แล้วใส่ obj_rainbow ลงใน ฉาก
4. Run ทดสอบ ท่านจะได้ ตัวหนังสือ Rainbow สุ่มแสดงสี

### อธิบาย ###
1. กำหนดขนาดตัวอักษร (ตรงนี้ผมได้ทำการสร้าง เพิ่ม font ขนาด 20)
2. ประกาดตัวแปล ข้อความ "RAINBOW"
3. ประกาดตัวแปล เพิ่มเพื่อ เก็บค่า ความกว้างสะสม
4. กำหนดสีตัวอักษร สีดำ
5. วาดตัวหนังสือสีดำ เพื่อเป็นตัวหนังสือเงา
6. ลูป for ตามจำนวนตัวอักษร โดยใช้ function string_length ได้ค่าจำนวนตัวอักษร
7. กำหนดตัวแปล t เพื่อรับค่าตัวอักษรที่ละตัว โดยใช้ function string_char_at
8. กำหนดให้มีการสลับหรือ reset ค่า Random ใหม่
9. กำหนดตัวแปล สี จาก function make_colour_rgb(red,green,blue) โดยค่าแต่ละช่วง จะอยู่ที่ 0-255
10. กำหนดสีตัวอักษรตามที่สุ่ม จากข้อ 9
11. วาดตัวอักษรที่ล่ะตัว โดย แนวแกน x ให้เพิ่ม x+w (w คือตัวแปลที่เก็บความกว้างสะสมของตัวอักษร)
12. สะสมความกว้างตัวอักษร ไว้ที่ตัวแปล w