เล่น ๆ กับ 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