หลายคนคงได้เคยไปเห็นเว็ปที่สามารถวาดรูป แล้วสามารถส่งต่อ replay ไปให้เพื่อนดูได้
อย่าง art.com เค้าใช้แฟลชทำครับ และแฟลชเวลาวาดรูป จะลากเส้นไปจากจุดหนึ่งไปยังจุดหนึ่ง เราจึงเก็บจุด x y
พวกนั้นมาบันทึกเอาไว้ แค่นี้ก็จะสามารถส่งต่อ ไปให้เพื่อนๆดูได้แล้ว
จากตัวอย่างนี้ ให้ลองใช้เมาส์คลิกแล้ววาด แล้วจึงปล่อยเมาส์ดูครับ ผมใช้วิธีเก็บจุดต่างๆลง อาเรย์ ซึ่งจริงๆเราสามารถส่งต่อไปยัง php ให้เซฟลง DB ก็ได้อีกต่างหาก
โค้ดของแฟลชตัวนี้ครับ copy ไปวางแล้วรันได้เลย สำหรับแฟลช8เท่านั้นนะครับ
http://cracky.exteen.com/images/flash/recDraw.swfจากตัวอย่างนี้ ให้ลองใช้เมาส์คลิกแล้ววาด แล้วจึงปล่อยเมาส์ดูครับ ผมใช้วิธีเก็บจุดต่างๆลง อาเรย์ ซึ่งจริงๆเราสามารถส่งต่อไปยัง php ให้เซฟลง DB ก็ได้อีกต่างหาก
โค้ดของแฟลชตัวนี้ครับ copy ไปวางแล้วรันได้เลย สำหรับแฟลช8เท่านั้นนะครับ
this.createEmptyMovieClip("canvas_mc", this.getNextHighestDepth());
var mouseListener:Object = new Object();
mouseListener.onMouseDown = function() {
canvas_mc.clear();
rec = new Array();
this.isDrawing = true;
canvas_mc.lineStyle(2, 0xFF0000, 100);
canvas_mc.moveTo(_xmouse, _ymouse);
};
mouseListener.onMouseMove = function() {
if (this.isDrawing) {
px = _xmouse;
py = _ymouse;
canvas_mc.lineTo(px, py);
rec.push(px+','+py);
}
updateAfterEvent();
};
mouseListener.onMouseUp = function() {
count = 0;
this.isDrawing = false;
canvas_mc.clear();
canvas_mc.lineStyle(2, 0xFF6666, 100);
temp = rec[count++].split(',');
canvas_mc.moveTo(temp[0], temp[1]);
delete temp;
inv = setInterval(drawLine,12);
};
Mouse.addListener(mouseListener);
function drawLine() {
if (count<=rec.length-1) {
temp = rec[count++].split(',');
canvas_mc.lineTo(temp[0], temp[1]);
delete temp;
} else {
clearInterval(inv);
}
}