break และ continue ในลูป for by dekunderkover

30
Apr
0

วิธีการใช้เจ้าสองตัวเนี๊ยะ จะใช้ทีต้องไป google ที เฮ้อ ขอเอามาไว้ตรงนี้เลยละกัน เผื่อคนที่ยังไม่รู้ด้วยนะ


break กับ continue ใน for ได้ด้วยนะเธอว์ นอกจากที่เราเห็นใช้กันใน switch case แล้ว


มาดูกันว่าใช้งานยังไง


เริ่มต้นด้วยการใช้ break ในลูป for ก่อนเลย for(var i:int=1; i<23; i+=4){ if(i==13){ break; } trace(i); }
ค่า output ที่ออกมาจะเป็น 1 5 9 แล้วไม่มีอะไรออกมาอีกแล้ว
เนื่องจากการใช้ break จะทำให้เราหลุดออกจากลูป for นี้ไปเลย


อ่ะ มาดู continue ในลูป for กันบ้าง for(var i:int=1; i<23; i+=4){ if(i==13){ continue; } trace(i); }
ค่า output จะออกมาเป็น 1 5 9 17 21
เนื่องจากการใช้ continue จะทำให้ข้ามบรรทัด trace(i); กระโดดขึ้นไปวนลูป for อีกที

อยากได้ code เก่ากลับคืนมา~ ทำไงดี? by dekunderkover

29
Feb
0

ในโปรแกรม Flash Builder เนี่ย แอบมีฟีเจอร์เด็ดๆซ่อนอยู่นะ ซึ่งหลายๆคนไม่รู้


หลายครั้ง หลายครา แก้โค้ดไป แก้โค้ดมา เฮ้ย ไอ้ของที่เคยเขียนเมื่อคราวที่แล้วมันก็ใช้ได้นี่นา แต่…ลบไปแล้ว อร๊ากกกกกก


โชคดีที่โปรแกรม Flash Builder มีฟีเจอร์นี้ทำให้เรารอดชีวิตมาได้ นั่นคือ local history
โปรแกรมเก็บโค้ดเวอร์ชั่นเก่าๆให้เราด้วย ไหนๆ ทำไงอ่ะ


คลิ๊กขวาบนหน้าจอโค้ดเราเลย –> Compare With –> Local History…
เดี๋ยวไม่เห็นภาพ อ่ะ



พอเปิดแล้วแท็บนี้ก็จะขึ้นมา

ทีนี้โปรแกรมจะแบ่งหน้าจอพร้อมกับเทียบโค้ดปัจจุบันกับโค้ดในอดีตที่เราเลือกมาให้เห็นชัดๆเลย



ขอบพระคุณ Flash Builder ที่มีฟีเจอร์นี้ให้โปรแกรมเมอร์ตัวน้อยๆได้ย้อนเวลากลับไปมองหาอดีต
กราบบบ m(_ _)m

ความแตกต่างของลูป for กับ for each by dekunderkover

31
Jan
0

สำหรับตอนนี้จะไม่พูดถึงลูป for ธรรมดานะ (เราคิดว่าคุณรู้แล้ว)


มาเริ่มกันด้วยการสร้าง object ขึ้นมาก่อน var obj:Object = {'id':'1','name':'myname','description':'descccc','image_name':'name/1.png','exp_max':'7'}
เราจะใช้ข้อมูลนี้กันนะ


อธิบายสิ่งที่อยู่ใน obj กันก่อน
‘id’:'1′ คือ คีย์ที่ชื่อ id เก็บข้อมูล 1 อยู่



มาเริ่มต้นที่ for( in ) กันก่อน for(var k:String in obj){ trace(k); }
ได้ key ออกมา คือ id name description image_name และ exp_max



มาดูกันต่อที่ for each( in ) for each(var d:String in obj){ trace(d); }
ได้ data ออกมา คือ 1 myname descccc name/1.png และ 7


นำไปใช้กันให้ถูกนะคะ :)

มาทำความรู้จักกับ RSLs (Runtime Shared Libraries) by dekunderkover

31
Jan
0

RSLs (Runtime Shared Libraries) พูดกันง่ายๆคือการแชร์ library ที่ใช้ในแอพเป็นส่วนกลางในระหว่างการทำงาน จะช่วยลดขนาดของแอพที่โหลดขึ้นมา
ลองดูรูปง่ายๆกันก่อน

เปรียบเทียบระหว่างการใช้ rsls และไม่ใช้

เปรียบเทียบระหว่างการใช้ rsls และไม่ใช้

จากรูปจะเห็นได้ชัดว่า ถ้าไม่ได้ใช้ RSLs แอพแต่ละตัวจะเก็บ library ไว้ในตัวโปรแกรมของแต่ละตัวกันเอง ซึ่งเมื่อรันโปรแกรมแล้ว จะทำให้เกิดการโหลด library ที่ซ้ำๆกันออกมา

ส่วนภาพขวาคือการที่ใช้ RSLs ในการแยก library ออกมา เมื่อรันแอพแต่ละตัว ก็จะไม่มีการโหลดซ้ำของ library อีก

ความเหมาะสมของโปรแกรมที่จะใช้ RSLs คือ

1. เป็นแอพที่มีมินิเกมอยู่ข้างในโดยแยกตัว swf ออกจากกัน

2. ใช้ library เดียวกัน เช่น รูปภาพ ตัวละครในเกม

3. แอพที่มีขนาดใหญ่และต้องการที่จะลดขนาด เพื่อความสะดวกแก่คนที่เข้ามาใช้แอพ

การใช้ List ใน Flex by dekunderkover

30
Nov
0

เราจะมาพูดถึงส่วนประกอบของ List ใน Flex
สิ่งที่พูดถึงนี้อยู่ใน spark.components.list

แท็ก list เวลาเรียกใช้คือ <s> </s> แบบโค้ดตัวอย่างนี้ <s:List x="295" y="207" width="412" height="112" id="prtList1" dataProvider="{usedArr1}" itemRenderer="components.partCustomComponent" /> </s:List>
x, y : จุด x y ที่เราจะวาง list ลงไป
width, height : ความกว้าง ความสูง ของ list ที่เราสร้าง
dataProvider : ข้อมูลที่จะใส่ลงใน list
itemRenderer : component แต่ละตัวใน list

ลงรายละเอียดกันอีกนิด
ข้อมูลที่จะใส่ใน dataProvider จะเป็นข้อมูลแบบ array เช่น var usedArr:Array =[{"friend_id":1234,"nick":"Paiboon","level":10,"exp":2}, {”friend_id”:5678,”nick”:”Ziah”,”level”:99,”exp”:999999}];
จะมีข้อมูลคือ friend_id เป็น 1234, nick เป็น Paiboon, level เป็น 10, exp เป็น 2

itemRenderer จะเป็นคลาสที่สร้าง component แต่ละตัวออกมา โดยใช้ข้อมูลจาก dataProvider ทีละตัว public function init():void { str = data.nick; exp = data.exp; level = data.level; id = “id: “+data.friend_id; }
data คือข้อมูลจากในอาร์เรย์ . ด้วยชื่อของข้อมูลที่ต้องการ
แล้วจึงนำไปใส่ <s:Label text="name: {str}" y="60" /> <s:Label text=”exp: {exp}” y=”70″ /> <s:Label text=”level: {level}” y=”80″ />
มาดูให้เห็นภาพ (ไม่ตรงตามโค้ดนะจ๊ะ)
หลังจากข้อมูลหนึ่งตัวเข้า itemRenderer แล้ว จะออกมาเป็นลักษณะแบบนี้

พอใช้ข้อมูลทุกตัว ก็จะออกมาเป็นแบบนี้ :D