C .
ODE
G
AMELET
person_outline
Sign In
videogame_asset
Public Games
local_library
Public Library
work
Public Projects
comment
Discuss
search
visibility
code
OPEN
info_outline
# MONSTERERR 在這兒寫下一段簡短的文字介紹你的遊戲吧。 ## 開始設計 <a href="cg://source/CG.MONSTERERR/game.events" class="mat-raised-button mat-primary">編輯遊戲事件表</a> ## 作者 **[dillenhub](/profile/100538265877117896339@google)**
MONSTERERR
dillenhub
visibility
code
OPEN
info_outline
# TWPerfPatch 本模組為 `TwilightWarsLib` 的效能優化補丁。只要在專案中載入模組,優化邏輯即會自動生效,無需手動初始化。 ## 優化項目 ### 1\. GAF 動畫循環控制 (GAFMovieClip) * **自動切斷循環**:執行 `stop()` 時會同步停止 `requestAnimationFrame` 遞迴,確保動畫停止時不再消耗 CPU 運算資源。 * **重啟時間校正**:在執行 `play()` 時重置時間戳記,確保動畫從停止處精準接續播放。 * **記憶體壓力優化**:透過手動管理動畫回呼函式,大幅減少重複產生暫存資料造成的記憶體堆積。 ### 2\. 深度資源清理 (Game Destroy) * **強制遞迴清理**:覆寫 `destroy` 邏輯並預設開啟 `children: true`,確保場景銷毀時會自動連同所有子物件掃描並清理乾淨。 * **紋理引用釋放**:預設開啟 `texture: true`,在場景銷毀時主動釋放該場景佔用的圖片資源(Texture),提升系統回收記憶體的效率。 * **背景循環掃描**:在執行 `dispose()` 時進行深度掃描,確保所有層級中還在執行的動畫循環皆已關閉。 ## 注意事項 (Disclaimer) * **非官方補丁**:本模組非由 `TwilightWarsLib` 官方開發,屬於第三方效能優化。 * **使用風險**:本補丁會直接修改函式庫的原型邏輯(Prototype)。 * **副作用說明**:由於強制開啟了銷毀子物件與紋理的功能,若專案中有「跨場景共用且未重新加載」的圖片資源,可能導致顯示異常。建議載入後完整測試一次場景切換流程。 * **優化程度說明**:本補丁並非 100% 解決所有洩漏問題。目前仍有部分潛在的 `requestAnimationFrame` 調用深埋於函式庫內部難以追蹤,且部分 `GAFTexture` 仍可能存在無法被完全釋放的情況,僅能就目前已知路徑進行最大化優化。 ## Authors **[cook1470](/profile/cook1470)**
光暈效能優化補丁
cook1470
visibility
code
OPEN
info_outline
# WovenFatesPerformanceModule WovenFatesPerformanceModule 是一組為 **Woven Fates** 專案整理的演出用擴充模組,主要聚焦在三個方向: - **Dialogue**:對話框、選項、對話履歷與相關互動觸發 - **Notebook**:可建立、開關、增刪條目並支援翻頁演出的筆記本系統 - **Typing Animation**:可直接顯示於畫面,或掛載到顯示屏上的逐字動畫特效 這個模組的目標不是提供底層框架,而是補足事件表中常用的 **劇情演出能力**,讓對話、筆記、提示文字與資訊呈現能更直接地接入任務流程。 具體使用效果可以參考平生願重製版:https://woven-fates.gamelet.online/ --- **非常抱歉,匯入模組時會多出現許多未加載模組的資料夾和過多未必要資源的問題,現已解決。** **還請在更新後使用,本模組僅依賴 CgEventsExp + CgEventsLib + TwillightWarsLib。** **對於對各位的專案帶來的整理麻煩,真的十分抱歉,本人也是第一次弄模組。** **如遇到刷新任務後,逐字動畫顯示屏消失的問題,請勾選「已存在時重建」。** --- # DIALOGUE ## Action: - **建立對話框** 建立對話框 UI,初始化對話介面的版面、文字區與顯示結構,作為後續顯示台詞與操作履歷的基礎。 - **顯示對話內容** 更新對話框中的角色名稱與台詞內容,用於一般劇情推進與對話演出。 - **顯示對話選項** 顯示可供玩家選擇的對話選項視窗,支援自訂選項內容、位置、字體與外框樣式,可選擇是否等待玩家作答。 - **開啟對話履歷** 開啟對話紀錄視窗,讓玩家查看先前已顯示過的對話內容。 - **關閉對話履歷** 關閉對話紀錄視窗,回到一般對話流程。 ## Trigger: - **選中對話選項** 在玩家選中對話選項後觸發,可取得選項視窗 ID 與選中的值,方便把選項結果接回事件表邏輯。 - **滑鼠滾輪觸發** 監聽滑鼠滾輪輸入,可用於開關對話履歷、切換頁面或其他 UI 滾輪互動。 --- # NOTEBOOK ## Action: - **建立筆記本** 建立筆記本 UI 與控制器,初始化封面、頁面、目錄、條目內容、圖片區與翻頁機制。 - **開關筆記本** 控制筆記本的開啟、關閉或切換狀態,可用於劇情中隨時調出或收起筆記本介面。 - **新增筆記條目** 將新條目加入筆記本,支援標題、左右頁內容與圖片資料,適合用於調查、線索收集與資訊整理。 - **刪除筆記條目** 依照條目 ID 或索引刪除指定條目,可用於更新資料、覆蓋舊資訊或同步任務進度。 - **顯示筆記條目** 顯示指定條目內容,或切回筆記本目錄頁,並配合翻頁效果切換內容。 ## Trigger: - **筆記本事件觸發** 監聽筆記本的開啟、關閉、回到目錄與選中特定條目等事件,可直接把玩家閱讀行為接入事件表。 --- # TYPING ANIMATION ## Action: - **特效逐字動畫** 在畫面上顯示逐字出現的文字,並可搭配音效、晃動與淡出等效果,用於提示、旁白、內心獨白或特殊文字演出。 - **建立逐字動畫顯示屏** 建立可重用的逐字動畫顯示區,支援背景、行距、最大行數、堆疊方向與推動動畫設定,可讓多條逐字訊息依序堆疊顯示,而不互相重疊。
WovenFatesPerformanceModule
UANlab
visibility
code
OPEN
info_outline
# 更好的光暈戰記事件表擴充模組(TWEventsBetterExp) 本模組延續 [**TwilightWarsEventsExp**](https://code.gamelet.com/edit/TwilightWarsEventsExp)(以下簡稱 EXP)的概念所設計,並基於 [**TwilightWarsEvents**](https://code.gamelet.com/edit/TwilightWarsEvents) 建立,用於擴充 [**光暈戰記**](https://twilightwars.gamelet.online/) 事件表功能的模組。 由於 **EXP** 過於混雜,為優化模組架構與性能,將逐步進行程式碼重構,剔除許多不必要,或與 **TwilightWarsEvents** 重疊的功能,保留真正需要的功能。 程式碼搬遷將會是一個持續性的工程,如果你有建議可以優先搬遷的功能,歡迎直接告訴我。 本模組的所有功能都放在 **光暈戰記 (BetterExp)** 目錄底下,且所有功能皆有 (BetterExp) 後綴。 ## 注意事項 即使是作用相同的功能,由於程式碼重構的關係,使用上 **EXP** 還是會和本模組有所差異,沒辦法直接將資料無痛轉移,因此你應該將其視為兩個不同的模組。 如果你是曾使用過 **EXP** 的開發者,如今想要開發新的專案,會建議不要安裝 **EXP** 而改安裝此模組。 ## 玩家社群 ### Discord - [**嘎姆討論區**](https://discord.gg/hZKQzRfPJM):於 2021/05/08 創立的非官方社群,主要用於討論嘎姆擂台的相關資訊。 ## 作者 **酷可**:[**Code.Gamelet**](/profile/114899766849308759711@google)、[**Gamelet.Online**](https://gamelet.online/user/114899766849308759711@google/board)、[**Youtube**](https://www.youtube.com/@cook1470)
TWEventsBetterExp
cook1470
visibility
code
OPEN
info_outline
# CgEventsUIExp 這個模組提供了一些專門針對 CG 事件表系統使用的 UI 元件。 ## 功能介紹 - 元件 - **推疊容器 (SequentialContainer)** | **[測試事件表](cg://source/test/Events/Actions/Components/SequentialContainerUIExp.events)** | **[教學影片](https://youtu.be/pTEBg6fjjow)** 推疊容器是一個能夠自動管理其子物件位置的 PIXI.Container (容器)。 它會根據設定的堆疊方向、插入方向和間距,動態地排列子物件,並提供自動淡入/淡出功能。 **※ 建議只加入中心點位於物件正中心的子物件。** ## Authors **[cook1470](/profile/cook1470)**
CgEventsUIExp
cook1470
visibility
code
OPEN
info_outline
# 《小女巫・啟程》 ## 遊戲玩法 這是一個 2D 橫向捲軸的 Rougelike 遊戲,通過消滅怪物來獲取經驗值升級,並選擇對應的升級方向,直到最後擊敗 Boss 為止! 小女巫作為玩家操控的角色,會自動發射魔法彈,玩家有機會可以通過升等來提升魔法彈的威力。 除了可以提升魔法彈的威力以外,玩家也可以選擇例如提高生命上限、加快移動速度、提升經驗獲取量等增益屬性。 且當玩家消滅怪物時,皆有機率掉落任意道具,如恢復藥水、經驗寶石等。 ## 操作說明 W-A-S-D、方向鍵、滑鼠左鍵點擊:控制小女巫移動。 ## 後話 這是我參加 2025 iThome 鐵人賽,利用 15 天製作出來的示範專案。 ### 文章連結: **[用 PixiJS 寫遊戲!告別繁瑣設定,在 Code.Gamelet 打造你的第一個遊戲](https://ithelp.ithome.com.tw/users/20152368/ironman/8417)** ## Authors **[cook1470](/profile/cook1470)**
小女巫啟程 無敵版(秒殺BOSS
github_world192
visibility
code
OPEN
info_outline
# ej8yftuohgyul 在這兒寫下一段簡短的文字介紹你的遊戲吧。 ## 開始設計 <a href="cg://source/CG.ej8yftuohgyul/game.events" class="mat-raised-button mat-primary">編輯遊戲事件表</a> ## 作者 **[LratY](/profile/117747283602443678025@google)**
ej8yftuohgyul
LratY
visibility
code
OPEN
info_outline
# 《小女巫・啟程》 ## 遊戲玩法 這是一個 2D 橫向捲軸的 Rougelike 遊戲,通過消滅怪物來獲取經驗值升級,並選擇對應的升級方向,直到最後擊敗 Boss 為止! 小女巫作為玩家操控的角色,會自動發射魔法彈,玩家有機會可以通過升等來提升魔法彈的威力。 除了可以提升魔法彈的威力以外,玩家也可以選擇例如提高生命上限、加快移動速度、提升經驗獲取量等增益屬性。 且當玩家消滅怪物時,皆有機率掉落任意道具,如恢復藥水、經驗寶石等。 ## 操作說明 W-A-S-D、方向鍵、滑鼠左鍵點擊:控制小女巫移動。 ## 後話 這是我參加 2025 iThome 鐵人賽,利用 15 天製作出來的示範專案。 ### 文章連結: **[用 PixiJS 寫遊戲!告別繁瑣設定,在 Code.Gamelet 打造你的第一個遊戲](https://ithelp.ithome.com.tw/users/20152368/ironman/8417)** ## Authors **[cook1470](/profile/cook1470)**
《小女巫・啟程》
cook1470
visibility
code
OPEN
info_outline
# 2025 iThome 鐵人賽 - Cook 用於存放今年參加 iThome 鐵人賽的範例程式碼。 ### 文章連結: **[用 PixiJS 寫遊戲!告別繁瑣設定,在 Code.Gamelet 打造你的第一個遊戲](https://ithelp.ithome.com.tw/users/20152368/ironman/8417)** ## Authors **[cook1470](/profile/cook1470)**
2025 iThome 鐵人賽 - Cook
cook1470
visibility
code
OPEN
info_outline
# P2P檔案分享 ## TL;DR EnhServer與TURN伺服器不會記錄你傳輸之資料,擔心隱私或資安問題請自行考慮後再決定是否使用本專案。 檔案最大應為 (2GiB - 2MiB) (已測試chrome/edge、firefox),若超過建議是採用壓縮檔分包個別傳輸。 註: - Windows的GB是GiB,即1024^3 Bytes - Linux的GB是1000^3 Bytes ## 使用須知 本專案使用WebRTC傳輸資料,藉由EnhServer協助使用者交換連線資訊,以順利建立連線。 本專案無需於EnhServer註冊帳號便可直接使用。 本專案由 **[雪姬](/profile/setsuki)** 提供STUN/TURNS伺服器,最大100Mbps總中轉頻寬。 伺服器可能並不算穩定,若有問題可至 [Discord 群組](https://discord.gg/seJwuzCbWq) 提醒我修復伺服器。 (TURNS為有加密之TURN伺服器,自建預設無加密,有需要可以使用ACME Client/Certbot向Let's encrypt申請證書以啟用加密) 若想要使用自有的STUN/TURN伺服器,請參閱 [Coturn Project on Github](https://github.com/coturn/coturn) 學習如何使用。 也可以自行建立自己的EnhServer,確保流量都可受自己控制,原始碼開源於 [EnhServer-monorepo on github](https://github.com/setsuk1/EnhServer-monorepo) 上。 ## 起因 有時想臨時分享檔案,但又擔心透過雲端硬碟傳遞資料沒有隱私。 因此建立起此專案,可以不讓第三方擁有自己的資料。 雖然也可透過EnhServer提供之訊息交換功能傳遞分塊。 但一來會對EnhServer的頻寬與記憶體帶來挑戰,二來則是瀏覽器端不便對資料進行處理。 再加上會帶來一些些複雜度,於是便透過WebRTC簡化這個流程。 ## 細節 (不關心可跳過) 首先先了解何為WebRTC。 WebRTC為於網路上實現之實時通訊。 需要兩類資料以建立連線:SDP資訊(offer/answer)與ICE資訊(IP、port、etc.) 首先使用者雙方須先交換SDP資訊,此部分如同連線之鑰匙與鎖,雙方不匹配就無法成功建立連線,該部分由EnhServer中轉。 當SDP交換完成時,雙方會各自向STUN/TURN伺服器取得可使用的連線資訊(ICE Candidate)。 之後會再透過EnhServer交換ICE資訊,並嘗試建立起連線。 而取得資訊可以透過兩類協議:STUN協議、TURN協議。 前者用來產生端到端連線,沒有任何中轉,但是對網路(NAT類型)有所要求。 後者則是透過一中轉伺服器轉發流量到對方一側,對NAT類型無要求,連線成功率提高許多,通常於STUN失敗時使用。 ## References MDN(Mozilla Developer Network Web docs) - **[RTCPeerConnection API](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/RTCPeerConnection)** - **[RTCDataChannel API](https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannel)** - **[RTCDataChannel Example](https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Simple_RTCDataChannel_sample)** iT邦幫忙 - **[菜雞前端邁入網頁即時通訊(WebRTC)之旅](https://ithelp.ithome.com.tw/users/20129521/ironman/3138)** ## Authors **[雪姬](/profile/setsuki)** **[不會取名字](/profile/buhuechuminzu)**
P2PFileSharing
setsuki
visibility
code
OPEN
info_outline
# pixi_spine_test One Paragraph of project description goes here ## Getting Started (For a game project) Write some tips or instructions how to control in your game. (For building a module) Write a piece of codes to demostrate how to use this module. ```typescript function examples() { } ``` ## Authors **[Haskasu](/profile/Haskasu)**
pixi_spine_test
Haskasu
visibility
code
OPEN
info_outline
# CookPixiUI2 這是一個主要用於 Code.Gamelet Pixi v8 的 UI 模組。 <font color=red>**(本專案僅支援 [Pixi](https://code.gamelet.com/edit/Pixi) 模組,使用 [Base](https://code.gamelet.com/edit/Base) 模組的專案請勿載入此模組,否則會壞掉。)**</font> ## 元件介紹 本專案說明文件皆建立在 Pixi 舞台長 960 寬 540 的情況之下,在使用 Pixi 之前,請先確保你已經正確的初始化 Pixi。 1. 使用 **`then`** 等待。 ```ts // 初始化 pixi CG.Pixi.pixi.initialize({ stageWidth: 960, // 舞台寬度 stageHeight: 540 // 舞台高度 }).then(() => { // 初始化完成後... }); ``` 2. 使用 **`async`、`await`** 等待。 ```ts // 定義一個 async 函數 async function main() { // 在 async function 中,可以使用 await 來等待 Promise 完成。 await CG.Pixi.pixi.initialize({ stageWidth: 960, // 舞台寬度 stageHeight: 540 // 舞台高度 }); // 初始化完成後... } // 呼叫 main 函數 main(); ``` - <a href="cg://source/CG.CookPixiUI2/Readmd/ScrollView.md">ScrollView(滑動容器元件)</a> - <a href="cg://source/CG.CookPixiUI2/Readmd/ListView.md">ListView(清單元件)</a> - <a href="cg://source/CG.CookPixiUI2/Readmd/DynamicListView.md">DynamicListView(動態清單元件)</a> - <a href="cg://source/CG.CookPixiUI2/Readmd/ListViewCell.md">ListViewCell(清單項目元件)</a> ## Authors **[cook1470](/profile/cook1470)**
CookPixiUI2
cook1470
visibility
code
OPEN
info_outline
# CookPixiUI 這是一個主要用於 Code.Gamelet Pixi v5 的 UI 模組。 ## 元件介紹 本專案說明文件皆建立在 Pixi 舞台長 960 寬 540 的情況之下,在使用 Pixi 之前,請先確保你已經正確的初始化 Pixi。 ```ts // 初始化 pixi,長 960 寬 540 CG.Base.pixi.initialize(960, 540); ``` - <a href="cg://source/CG.CookPixiUI/Readmd/ScrollView.md">ScrollView(滑動容器元件)</a> - <a href="cg://source/CG.CookPixiUI/Readmd/ListView.md">ListView(清單元件)</a> - <a href="cg://source/CG.CookPixiUI/Readmd/DynamicListView.md">DynamicListView(動態清單元件)</a> - <a href="cg://source/CG.CookPixiUI/Readmd/ListViewCell.md">ListViewCell(清單項目元件)</a> ## Authors **[cook1470](/profile/cook1470)**
CookPixiUI
cook1470
visibility
code
OPEN
info_outline
# emptyProject 這是一個已經載入pufferfish's playground的專案 ## Introduction 在遊戲內說話會自動啟動指令 <br> 像是如果玩家在遊戲內說了henshin <br> 如果henshin是指令就會直接生效 <br> 有什麼指令都可以在import libraries找,指令都會是小寫 <br> <br> ``` namespace CG.pufferfishsPlayground3.riderSenderUtils { export declare class Boostuppls { constructor(); static boostuppls(e: any): void; } } ``` 這種放在riderSenderUtils 的functions代表這是一個可以使用的指令 <br>有些是單一指令,像是boostuppls,角色直接說boostuppls就有效了 <br>henshin、boostuppls、bombpls都是直接有效的指令 <br>boostuppls 也可以補參數,像是boostuppls 5,中間放空白就能補參數 <br>有哪些參數可以補我還沒有特別整理,之後會再做教學 ## Authors **[pufferfish_01](/profile/pufferfish_01)**
emptyProject
pufferfish_01
visibility
code
OPEN
info_outline
光暈的存檔系統有點複雜 光暈戰技裡面有ACTOR 與玩家 其中 如果你要存檔 你要用玩家的ID 有些事件可以找到如 玩家加入遊戲防 玩家按下鍵盤 而角色殺死攻擊者代碼就算是玩家 它代表的是ACTOR 並不是玩家ID
存檔系統測試
dillenhub
visibility
code
OPEN
info_outline
# Playground 專門用來快速在畫板上塗塗抹抹的專案。 ## Getting Started 摳出來成為你自己的新專案後,可用以下幾種工具(在/libs裏的工具)快速畫圖。 ```typescript // 畫一個紅色的圓 draw.circle(0, 0, 100, {fillColor: 0xFF0000}); // 打開一個確認視窗 dialog.confirm('Are you sure?', 'Click confirm if you think it is ok.') .then((confirm) => { if(confirm) { console.log('User confirmed.'); } }); // 收集資料畫長條圖 let dataCollector = new DataCollector(); dataCollector.addData('一月', 1, 2); dataCollector.addData('二月', 2, 10); dataCollector.addData('三月', 3, 5); dataCollector.addData('四月', 4, 6); dataCollector.showChart('第一季', 'bar'); ```
agar.io
dillenhub
visibility
code
OPEN
info_outline
# CgEventsLib2 One Paragraph of project description goes here ## Getting Started (For a game project) Write some tips or instructions how to control in your game. (For building a module) Write a piece of codes to demostrate how to use this module. ```typescript function examples() { } ``` ## Authors **[Haskasu](/profile/Haskasu)**
CgEventsLib2
Haskasu
visibility
code
OPEN
info_outline
# Server2 One Paragraph of project description goes here ## Getting Started (For a game project) Write some tips or instructions how to control in your game. (For building a module) Write a piece of codes to demostrate how to use this module. ```typescript function examples() { } ``` ## Authors **[Haskasu](/profile/Haskasu)**
Server2
Haskasu
visibility
code
OPEN
info_outline
光暈編程語言實驗室
CumCat
visibility
code
OPEN
info_outline
# 五十音 ~~BINGO~~ 這是一個用來練習五十音的小遊戲。 可以在主頁面設定要以平假名或是片假名為主。 開始後會產生 5 x 5 的隨機假名表,並且隨機產生對應的題目,如一開始選擇平假名,則題目將為片假名,根據題目選擇對應的假名即可圈選。 快來測試看看自己的速度如何吧! ~~花了一個晚上做的,原本要做 BINGO,但連線之後有機會再說吧~~~ ## Authors **[cook1470](/profile/cook1470)** ## 素材 ### Sprite - [basic-gui-bundle](https://penzilla.itch.io/basic-gui-bundle) - [Bing image creator](https://www.bing.com/images/create) ### Music - [Bossa Nova](https://opengameart.org/content/bossa-nova) ### Sound Effects - [Haskasu](https://code.gamelet.com/profile/Haskasu/assets) - [cook1470](https://code.gamelet.com/profile/cook1470/assets)
GojuuonBingo
cook1470
MORE RESULTS
ⒸCode.Gamelet.com |
Privacy Policy
|
Terms of Service