๐๑๔ | สระลอย

เมื่อไม่กี่วันมานี้ ผมได้พยายามอย่างนักที่จะทำให้ sIFR สระไม่ลอย
ผลไม่ใช่น้ำเหลวครับ แต่ก็ไม่ดีนักเสียทีเดียว
นั่นคือ ผมสามารถทำให้มันเป็นอย่างนั้นได้ แต่ต้องขยับเวอร์ชั่นขั้นต่ำขึ้นมาจาก 6 เป็น 7
ซึ่งนั่นก็ตัดโอกาสผู้ใช้ที่จะเห็นไปมากพอดู

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

ก่อนอื่น ไปที่ SleepyDesign.com เพื่อโหลดสคริปต์นั่นมาก่อนเลยครับ (บนเว็บเขียนว่า ควรจะใช้ ie6 + flash player 8 เท่านั้น ผมใช้ ff 1.0.7 กับ flash player 8 เข้าไม่มีปัญหาครับ) โดยไปที่หมวด exp ที่ย่อมาจาก experiment (มั้ง) แล้วลองมองหาไอ้คำว่า Thai String Class หรืออะไรประมาณนี้แหละครับ จากนั้นก็กดๆมั่วๆไปให้ดาวน์โหลดไฟล์ string.Thai ... อะไรประมาณนี้แหละครับ (อูยยยย โคตรคลุมเครือเลย) จากนั้นก็แตกไฟล์ออกมาไว้ที่โฟลเดอร์ใดโฟลเดอร์หนึ่ง

เวอร์ชั่นของ Flash ที่คุณใช้ขึ้นมาควรจะมากกว่าเวอร์ชั่น 6 (มากกว่า ไม่ใช่ มากกว่าหรือเท่ากับ นะครับ) เพราะ Class เพิ่งมีการนำมาใช้ใน ActionScript เวอร์ชั่น 2.0 และบังเอิญว่าสคริปต์ที่เราเอามาใช้นี่ก็เป็น Class เสียด้วย

ท ี่นี้ เบนเข็มแห่งความสนใจมาที่ไฟล์ทีเ่ราแตกออกมาต่อ แต่อย่า -- อย่าเพิ่งเบนมาให้มากที่สุดครับ ให้ไปที่ที่เก็บโปรแกรม Flash ครับ หาโฟลเดอร์ที่เป็นชื่อย่อภาษา (ภาษาไทยมันไม่มีครับ มีแต่ en ที่มาจาก English) จากนั้นจะเจอโฟลเดอร์ที่ชื่อ First Run เข้าไปอีกก็จะเจอโฟลเดอร์เยอะแยะ หาโฟลเดอร์ที่ชื่อ Classes แล้วเข้าไปอีก (ลึกลับแฮะ) ต่อมาให้สร้างโฟลเดอร์ชื่อ SleepyDesign (คลิกขวา ... New Folder ... ตั้งชื่อเป็นอย่างว่า) แล้วเข้าไปอีก สร้างโฟลเดอร์ใหม่อีกชื่อ string (ทั้งหมดนี้ต้องใส่ใจด้วยนะครับว่าตัวพิมพ์เล็กหรือใหญ่) แล้วจากนั้น จึงก๊อปปี้ไฟล์ Thai.as เข้าไปอยู่ในโฟลเดอร์ที่ชื่อ string

จากนั้น หา Text Editor คู่ใจเปิดดูไฟล์ Thai.as เลื่อนลงไปเรื่อยๆจนเจอบรรทัดที่เขียนคล้ายๆว่า
class Thai extends String {

ให้เปลี่ยนเป็น
class SleepyDesign.string.Thai extends String {

ครับ

ท ีนี้ เปิด Flash สร้างไฟล์ใหม่ สร้าง Input Text กับ Dynamic Text ขึ้นมาอย่างละอัน ตั้ง Instance Name ให้ทั้งสองอัน สมมุติให้ Input Text มี Instance Name เป็น inputTxt และ Dynamic Text เป็น dynamicTxt

ท ีนี้ก็สร้าง Movie Clip ขึ้นมาอันนึง จะเป็นรูปอะไรก็ได้ แต่ขอให้เล็กที่สุด เช่น สี่เหลี่ยม คลิกเลือกที่ Movie Clip นั้น แล้วเปิด Actions Panel ขึ้นมา จากนั้น พิมพ์อะไรคล้ายๆข้างล่างนี่ลงไป

onClipEvent (enterFrame) {
onClipEvent (enterFrame) {
import SleepyDesign.string.Thai;
var eEe:Thai = new Thai(_root.inputTxt.text, {fontFamily:"psl_sp"});
_root.dynamicTxt.text = eEe;
}


แล้วออกมาดูผลครับ
สำหรับฟอนต์ข้างบนนี่เป็น Unicode แต่ถ้าฟอนต์เป็น ASCII (คือฟอนต์รุ่นเก่าเก็บ) ก็ให้เปลี่ยนตรง {fontFamily:"psl_ad"} หรือถ้าเป็น DS รุ่นเก๊าเก่า (หมายถึงรุ่นที่ยังเป็น DS-Blabla -- อยู่) หรือฟอนต์ที่คล้ายๆ DS ให้ให้เปลี่ยนเป็น {fontFamily:"ds"}

นอกจากนี้ ยังสามารถปรับเปลี่ยนได้ด้วยว่าจะเอาอย่างนี้รึเปล่า ลองหาอ่านต่อและทดลองเอาดูเองในไฟล์ Thai.as (ดูตัวอย่างในไฟล์ fla ที่แนบมากับไฟล์ก็ดีครับ)

สรุปก็คือ มาแนะนำเฉยๆครับ แหะๆ -_-"

ป.ล. ขอบคุณเฮียกาต๊อบมากๆครับ
ป.ว. จริงๆโพสต์นี้หนีเว็บ sIFR มาทำครับ
ป.ศ. รู้สึกละอายใจว่ะครับ ไม่ได้ทำประโยชน์อะไรให้โลกเลย
ป.ษ. ใครทราบวิธีทำให้ Class เอามาใช้ได้ใน AS 1.0 บ้างครับ วิธีไหนก็ได้ ช่วยหน่อยครับ
ขอโทษค่ะ :05:

วีอ่านไม่จบอีกแล้ว (บล็อกพี่เหน่งก็เหมือนกัน ไม่เคยอ่านจนจบ)
อ่านได้แค่ครึ่งเดียวก็เลิก..

ไว้วีจะมาอ่านต่อนะ อย่าเพิ่งโพสโพสใหม่ล่ะ T^T
อ่านจบแล้ว...

รู้สึกว่า...

งงฉิบหายเลยว่ะเร่...

=_='
มันเป็นการจุดประกายความคิดที่ดี ทำต่อไปนะครับ
as1 ไม่สนับสนุนระบบ class นะ

แต่ความเป็นจริงมันใช้งานร่วมกันได้นะ
เมื่อ 3/3/49 01:50 โดย Blogger PunNeng  
ไม่มีึความสามารถเลย :05:
เร่ .. หายไปเลย
แอบซุ่มทำไรอยู่ *-*
เอ้า มาอ่านต่อจนจบแล้วค่ะ
มันแปลว่าไอตัวนี้มันดีกว่า eot ใช่ไหมคะ = =
ไม่ได้ซุ่มทำอะไรหรอก
ขี้เกียจน่ะ *-*
เมื่อ 7/3/49 15:37 โดย Blogger Zafire06  
Comment | Top