วิธีการแก้ปัญหาเวลาเพี้ยนที่เกิดจากเครื่องผู้ใช้ by

30
Nov
0

flex-time

โดยปกติแล้วเราใช้ new Date().getTime() เพื่อให้ได้เวลาปัจจุบันเพื่อไปเทียบในการแสดงผลเวลาต่างๆ ที่ใช้ในเกม แต่บางทีก็จะเกิดปัญหาขึ้นเนื่องงจากเครื่องผู้ใช้นั้นตั้งเวลาไม่ตรงกับเวลามาตรฐาน จึงทำให้การแสดงผลผิดเพี้ยนไปอย่างมาก เราจึงต้องทำการเอาเวลาจาก Server มาช่วยในการคำนวนเวลาปัจจุบันด้วย ดังนี้


public var timeDiff:Number = 0; //สร้างตัวแปรมาเก็บค่าความต่างจากเวลาปัจจุบัน
public function init():void{
timeDiff = current_server_time*1000-(new Date().getTime()); //ให้ current_server_time เป็นเวลาปัจจุบันที่ส่งมาจาก Server แล้วนำมาลบกับเวลาปัจจุบันของเครื่องผู้ใช้เพื่อเก็บเวลาที่ต่างกัน
}

ดังนั้นเราก็จะมีตัวแปรที่เก็บเวลาต่างกันของเวลาผู้ใช้และเวลาของ Server และนำไปใช้ ตัวอย่างเช่น


public var offerTimer:Timer = new Timer(1000); //ตัว Timer นับถอยหลังหมดเวลาของโปรโมชั่น
public function checkOfferTime(time:Number):void{ //ฟังก์ชั่นคิดเวลาที่เหลือของโปรโมชั่น
var nowDate:Date = new Date(); //เวลาปัจจุบัน
var endOffer:Date = new Date(time*1000); //เวลาที่จะหมด รับค่ามาเวลาถูกเรียก
var remainTime:Number = (endOffer.getTime()-(nowDate.getTime()+timeDiff))/1000; //เวลาที่เหลือของโปรโมชั่นก็จะเท่ากับ เวลาหมดลบด้วยเวลาปัจจุบันบวกด้วยความต่างของเวลาที่เราได้ทำการเก็บไว้ในตอนแรก
if(remainTime>0){ //ถ้าเวลายังเหลือ
offerTimer.repeatCount = remainTime; //ให้เวลาเหลือ (เป็นวินาที) เท่ากับจำนวนรอบนับถอยหลัง
offerTimer.reset(); //รีเซ็ท Timer
offerTimer.start(); //และสั่งเริ่มนับ
}
}

เท่านี้เวลาที่จะแสดงให้เห็นในเครื่องผู้ใช้ทุกเครื่องจะเท่ากันแล้วล่ะครัย

12 principles of animation (1-6) by

27
Nov
0

การสร้างวัฒนธรรมการทำงานเป็นทีมที่มีประสิทธิภาพ by

26
Nov
0

วันที่ได้ไปงาน Thailand Practical Software Engineering มา มีสองเรื่องที่ผมสนใจมากเป็นพิเศษคือเรื่องการสร้างทีมที่ดีซึ่ง apply ได้กับทุกคนในทีม ไม่ว่าจะเป็นพนักงานตัวเล็กๆ ไล่ไปจนถึงผู้บริหารโดยคุณ Arunthep Sangvareethip  และเรื่อง Kanban โดยพี่กร (Kamon Treetampinij)

เกริ่นก่อนว่าเนื้อหานี้เป็นการเรียบเรียงใหม่ของผมเองโดยเอาเนื้อหาที่ฟังมาเป็นแกนซึ่งบางทีก็จะเป็นเนื้อหาจากหลาย session รวมๆ กันแล้วใส่ประสบการณ์ตรงของผมเข้าไปพอสมควร ออกตัวก่อนว่าผมเองก็ยังทำได้ไม่หมดทุกอย่าง การเขียน blog นี้เหมือนเตือนตัวเองไม่ให้ลืมในอนาคต เรื่องทีมนี้ยังสามารถประยุกต์ใช้กับการทำให้ครอบครัวมีความสุขได้ด้วย เพราะครอบครัวๆ หนึ่งก็ไม่ต่างจากทีมที่สมาชิกแต่ละคนในครอบครัวต่างก็มีหน้าที่ต่างกันไปเช่น พ่อมีหน้าที่หาเงินเลี้ยงครอบครัว แม่มีหน้าที่ดูแลลูกๆ ให้ดี ลูกมีหน้าที่เรียนหนังสือเพื่อเติบโตเป็นผู้ใหญ่ที่ดูแลตัวเองได้ ปัญหาที่เกิดกับทีมก็เป็นปัญหาที่เกิดกับครอบครัวได้เช่นกัน เช่น พ่อไม่เชื่อใจว่าลูกจะโตไปทำงานได้ดีเพราะวันๆ เอาแต่เล่นเกม หรือน้องไม่เชื่อใจพี่ว่าจะทำงานบางอย่างด้วยตัวเองได้เพราะในอดีตผูกใจเจ็บกับการถูกพี่ใช้มาตั้งแต่เด็ก เป็นต้น

ทีมที่มีประสิทธิภาพก็คือทีมที่มีการแบ่งงาน แบ่งหน้าที่ได้อย่างลงตัว แต่ทว่าสิ่งที่เหนือไปกว่า process และ tools ทั้งปวงคือเรื่องของคนนั่นเอง ซึ่งเรื่องฝีมือก็เป็นเรื่องหนึ่งที่เป็นองค์ประกอบสำคัญ แต่สิ่งที่สำคัญกว่าคือทำอย่างไรให้เกิด teamwork ให้เกิดการทำงานอย่างมีประสิทธิภาพดีที่สุด แต่ว่าการจะทำให้ได้อย่างนั้นไม่ง่ายอย่างที่คิด ผมจะขอกล่าวเป็น 3 หัวข้อหลักๆ ได้แก่

  • ความเชื่อใจ (Trust)
  • การสร้างปฏิสัมพันธ์กับคนในทีม (Human Dynamic)
  • จะทำอย่างไรหากเราถูกกล่าวหา (Blame) จากคนในทีม?

Let’s Draw Biscuit! by

23
Nov
0

มาวาดบิสกิตกัน! สร้างวงกลมขึ้นมา 1 ชิ้นนะคะ

ให้เป็นโครงของบิสกิต

ไปที่ Object >> Path >> Add Anchor Points

ทำแบบนี้ซักสามครั้ง ให้จุดรอบๆวงกลมเยอะประมาณนี้

ไปที่ Effect >> Distort & Transform >> Pucker & Bloat

เลือกประมาณ 6% พอค่ะ ส่วนนี้จะเป็นหยักรอบๆบิสกิต

พอจะดูออกกันแล้วใช่ไหมคะ?

เลือก Object >> Expand Appearance ค่ะเพื่อให้กลายเป็นวัตถุตามรูปที่เห็น

Gradient ใส่สีเลย (เลือกแบบ Radial นะคะ)

เพราะบิสกิตจะมีขอบเข้มกว่าด้านใน

ตกแต่งด้วยวงกลมสีน้ำตาลเข้มเล็กๆวางประปราย

เสร็จแล้วค่ะ พร้อมหม่ำ

กู้เงิน | เศรษฐกิจพอเพียง | สินเชื่อบุคคล | สมัครบัตรกดเงินสด | สินเชื่อ | เงินกู้ด่วน | ยืมเงินทรูมูฟ | เงินด่วนนอกระบบ