อ่าน 5 นาที
โอเพ่นเอฟแอล
OpenFLเป็นเฟรมเวิร์กและแพลตฟอร์มซอฟต์แวร์โอ เพนซอร์ส ฟรี สำหรับการสร้างแอปพลิเคชันและวิดีโอเกมแบบหลายแพลตฟอร์ม แอปพลิเคชัน OpenFL สามารถเขียนได้ด้วย Haxe, JavaScript (EcmaScript 5.
โอเพ่นเอฟแอล
| โอเพ่นเอฟแอล | |
|---|---|
| นักพัฒนา | ผู้ร่วมพัฒนา OpenFL |
| ปล่อย | 30 พฤษภาคม 2556 [ 1 ] |
| เวอร์ชันเสถียร | 9.5.2 [ 2 ] |
| เขียนเป็น | แฮ็กซ์ |
| ระบบปฏิบัติการ | Microsoft Windows , macOS , Linux [ 3 ] [ 1 ] |
| แพลตฟอร์ม | Microsoft Windows , macOS , Linux , iOS , Android , Flash Player , HTML5 [ 3 ] [ 1 ] |
| พิมพ์ | เฟรมเวิร์กซอฟต์แวร์ |
| ใบอนุญาต | ใบอนุญาต MIT [ 4 ] |
| เว็บไซต์ | www.openfl.org |
| ที่เก็บข้อมูล |
|
OpenFLเป็นเฟรมเวิร์กและแพลตฟอร์มซอฟต์แวร์โอ เพนซอร์ส ฟรี สำหรับการสร้างแอปพลิเคชันและวิดีโอเกมแบบหลายแพลตฟอร์ม [ 5 ] [ 6 ] แอปพลิเคชัน OpenFL สามารถเขียนได้ด้วย Haxe, JavaScript (EcmaScript 5 หรือ 6+) หรือ TypeScript [ 7 ]และสามารถเผยแพร่เป็นแอปพลิเคชันแบบสแตนด์อโลนสำหรับเป้าหมายต่างๆได้แก่iOS , Android, HTML5 (เลือกใช้ Canvas, WebGL, SVG หรือ DOM), Windows, macOS, Linux, WebAssembly, Flash, AIR, PlayStation 4, PlayStation 3, PlayStation Vita, Xbox One, Wii U, TiVo, Raspberry Pi และ Node.js [ 8 ]
โปรแกรมแก้ไขที่ได้รับความนิยมมากที่สุดที่ใช้สำหรับการพัฒนา Haxe และ OpenFL [ 9 ]ได้แก่:
- Visual Studio Code (พร้อมปลั๊กอิน)
- HaxeDevelop (รองรับการพับโค้ดการปรับโครงสร้างโค้ดและการดีบักแบบโต้ตอบ[ 10 ] )
- โปรแกรม Sublime Text (พร้อมปลั๊กอิน)
- IntelliJ IDEA (พร้อมปลั๊กอิน)
OpenFL ประกอบด้วยพอร์ต Haxe ของไลบรารีกราฟิกหลัก ๆ เช่นAway3D [ 11 ] [ 12 ] [ 13 ] Starling [ 14 ] [ 15 ] Babylon.js [ 16 ] Adobe Flash และ DragonBones [ 17 ] [ 18 ] เนื่องจาก OpenFL มีลักษณะเป็นแบบหลายแพลตฟอร์ม ไลบรารี เหล่านี้จึงมักทำงานบนหลายแพลตฟอร์ม เช่น HTML5, Adobe AIR และ Android/ iOS
มีการพัฒนาวิดีโอเกมมากกว่า 500 เกมโดยใช้ OpenFL [ 19 ] รวมถึงPapers, Please , Rymdkapsel , Lightbot , Friday Night Funkin'และMadden NFL Mobile
OpenFL ถูกสร้างขึ้นโดย Joshua Granick และปัจจุบันได้รับการบริหารจัดการและดูแลรักษาโดย Chris Speciale วิศวกรซอฟต์แวร์ สมาชิกคณะกรรมการ และผู้ร่วมเป็นเจ้าของ[ 20 ]
รายละเอียดทางเทคนิค
โอเพ่นเอฟแอล
OpenFL ได้รับการออกแบบให้จำลอง API ของ Flash อย่างสมบูรณ์[ 1 ] [ 6 ] ไฟล์SWF ที่สร้างด้วย Adobe Flash Professionalหรือเครื่องมือสร้างเนื้อหาอื่นๆ สามารถใช้ในโปรแกรม OpenFL ได้[ 6 ]
OpenFL รองรับการเรนเดอร์ในOpenGL , Cairo , Canvas , SVGและแม้แต่HTML5 DOM ในเบราว์เซอร์WebGLเป็นตัวเรนเดอร์เริ่มต้น แต่หากไม่สามารถใช้งานได้ จะใช้ Canvas (การเรนเดอร์ด้วย CPU) แทน[ 21 ]คุณสมบัติบางอย่าง ( shape.graphicsหรือbitmapData.draw) จะใช้การเรนเดอร์ด้วย CPU แต่รายการแสดงผลจะยังคงเร่งความเร็วด้วย GPUให้มากที่สุดเท่าที่จะเป็นไปได้[ 21 ]
มะนาว
OpenFL ใช้ไลบรารี Limeสำหรับการเรนเดอร์ระดับต่ำ Lime ให้ การเรนเดอร์ กราฟิกเวกเตอร์แบบเร่งความเร็วด้วย ฮาร์ดแวร์ บนแพลตฟอร์มที่รองรับทั้งหมด[ 22 ] [ 21 ]
Lime เป็นไลบรารีที่ออกแบบมาเพื่อมอบสภาพแวดล้อม "ผืนผ้าใบว่างเปล่า" ที่สอดคล้องกันบนเป้าหมายที่รองรับทั้งหมด รวมถึงFlash Player , HTML5 , Microsoft Windows , macOS , Linux , iOS , Android , คอนโซล, กล่องรับสัญญาณ และระบบอื่นๆ[ 21 ] Lime เป็นไลบรารีกราฟิก เสียง อินพุต และหน้าต่างแบบข้ามแพลตฟอร์ม ซึ่งหมายความว่า OpenFL สามารถมุ่งเน้นไปที่การเป็น API ของ Flash และไม่ต้องจัดการรายละเอียดเฉพาะเหล่านี้ทั้งหมด Lime ยังมีเครื่องมือบรรทัดคำสั่งอีก ด้วย [ 21 ]
แฮ็กซ์
Haxe เป็น ภาษาโปรแกรม และ คอมไพเลอร์ระดับสูงแบบข้ามแพลตฟอร์ม และหลาย พาราดิกม์ ที่สามารถสร้างแอปพลิเคชันและซอร์สโค้ดสำหรับแพลตฟอร์มการคำนวณ ที่แตกต่างกันมากมาย จากฐานโค้ดเดียว[ 23 ] [ 24 ] [ 25 ] [ 26 ]เป็นซอฟต์แวร์ฟรีและโอเพนซอร์สที่เผยแพร่ภายใต้ใบอนุญาตสาธารณะทั่วไปของ GNU (GPL) 2.0 และไลบรารี มาตรฐาน ภายใต้ใบ อนุญาต MIT
Haxe ประกอบด้วยชุดฟังก์ชันทั่วไปที่รองรับในทุกแพลตฟอร์มเช่นประเภทข้อมูลตัวเลขข้อความอาร์เรย์ไบนารีและรูปแบบไฟล์ ทั่วไปบางรูป แบบ[ 24 ] [ 27 ]นอกจากนี้ Haxe ยังมีอินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชัน (API) เฉพาะแพลตฟอร์มสำหรับAdobe Flash , C++, PHP และภาษาอื่นๆ อีกด้วย[ 24 ] [ 28 ]
Haxe เกิดขึ้นจากแนวคิดในการสนับสนุน การเขียนโปรแกรม ฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์ด้วยภาษาเดียว และลดความซับซ้อนของตรรกะการสื่อสารระหว่างกัน[ 29 ] [ 30 ] [ 31 ]โค้ดที่เขียนด้วยภาษา Haxe สามารถคอมไพล์แบบซอร์สต่อซอร์สเป็นActionScript 3 , JavaScript , Java , C++ , C# , PHP , Python , Lua [ 32 ]และNode.jsได้[ 24 ] [ 27 ] [ 33 ] [ 34 ]นอกจากนี้ Haxe ยังสามารถคอมไพล์ไบต์โค้ดSWF , HashLink และNekoVM ได้ โดยตรง
นกสตาร์ลิง
พอร์ต Haxe ของStarling FrameworkทำงานบนStage3Dและรองรับการเรนเดอร์กราฟิกเวกเตอร์แบบเร่งความเร็วด้วย GPU [ 21 ]โดยใช้การใช้งาน Stage3D แบบกำหนดเอง และไม่จำเป็นต้องใช้รายการแสดงผล OpenFL ในการทำงาน[ 21 ] [ 35 ]
ดูเพิ่มเติม
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ โอเพ่นเอฟแอล
OpenFLเป็นเฟรมเวิร์กและแพลตฟอร์มซอฟต์แวร์โอ เพนซอร์ส ฟรี สำหรับการสร้างแอปพลิเคชันและวิดีโอเกมแบบหลายแพลตฟอร์ม แอปพลิเคชัน OpenFL สามารถเขียนได้ด้วย Haxe, JavaScript (EcmaScript 5.
โอเพ่นเอฟแอล
OpenFL ได้รับการออกแบบให้จำลอง API ของ Flash อย่างสมบูรณ์ [ 1 ] [ 6 ] ไฟล์ SWF ที่สร้างด้วย Adobe Flash Professional หรือเครื่องมือสร้างเนื้อหาอื่นๆ สามารถใช้ในโปรแกรม OpenFL ได้ [ 6 ]
มะนาว
OpenFL ใช้ไลบรารี Limeสำหรับการเรนเดอร์ระดับต่ำ Lime ให้ การเรนเดอร์ กราฟิก เวกเตอร์ แบบเร่งความเร็วด้วย ฮาร์ดแวร์ บนแพลตฟอร์มที่รองรับทั้งหมด [ 22 ] [ 21 ]
แฮ็กซ์
Haxe เป็น ภาษาโปรแกรม และ คอมไพเลอร์ ระดับสูง แบบข้ามแพลตฟอร์ม และ หลาย พาราดิกม์ ที่สามารถสร้างแอปพลิเคชันและซอร์สโค้ดสำหรับ แพลตฟอร์มการคำนวณ ที่แตกต่างกันมากมาย จากฐานโค้ดเดียว [ 23 ] [ 24 ] [ 25 ] [ 26 ] เป็น ซอฟต์แวร์ฟรีและโอเพนซอร์ส ที่เผยแพร่ภายใต้...