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
# 光暈戰記 RPG GUI 事件表模組(TwilightWarsRPGGUIEvents) 基於 **[TwilightWarsRPGEvents](https://code.gamelet.com/edit/TwilightWarsRPGEvents)** 的 GUI(圖形化使用者介面)模組。 主要用於快速顯示 RPG 模組內的玩家資料,不具備任何操作玩家資料,或其他實質的功能,僅用於顯示。<br/> 但可利用觸發,檢測玩家在視窗上的操作,並利用 TwilightWarsRPGEvents 的動作去修改玩家資料,或是執行其他動作等。 如有任何 GUI 的需求歡迎於 **[討論串](https://code.gamelet.com/discuss/p/TwilightWarsRPGGUIEvents/0)** 提出! ## 背包視窗 |**[樣式一](https://code.gamelet.com/edit/TwilightWarsRPGGUIEvents?source=test/events/actions/dialogs/inventories/ShowInventoryDialog_0.events)**| |:-:| |![](https://i.imgur.com/uDwukKq.png)| ## Authors **[module_cook1470](/profile/module_cook1470)**
光暈戰記 RPG GUI 模組
module_cook1470
visibility
code
OPEN
info_outline
# Pixi 這個專案將 Base 中的 Pixi 獨立出來,配合新的 Base2 以及 Pixi.js v8,提供遊戲製作更強大的繪圖工具。 ## 包含套件 - [pixi.js](https://pixijs.com/) - [pixi-filters](https://github.com/pixijs/filters) - [@pixi/sound](https://pixijs.io/sound/examples/index.html) - GAFMovieClip - GIFSprite - SpritesheetMovieClip - TilingSprite ## 使用步驟 ```typescript import pixi = CG.Pixi.pixi; async function example() { // 將pixi初始化(這裏要await,和以前Base裏的不一樣) await pixi.initialize({ width: 800, height: 600, }); // 將專案的資源載入。 await pixi.assets .add("Pixi.gaf") .add("Pixi.gif") .add("Pixi.spritesheet") .add("Pixi.snd") .load(); // 建立GAFMovieClip let movieclip = pixi.assets.createGAFMovieClip( /*資源名*/ "Pixi.gaf", /*linkage*/ "lib_puffer" ); pixi.root.addChild(movieclip); movieclip.gotoAndPlay("normal"); // 建立GIFSprite let gif = pixi.assets.createGIFSprite("Pixi.gif"); pixi.root.addChild(gif); gif.play(); // 建立GIFSprite let spritesheet = pixi.assets.createSpritesheetMovieClip("Pixi.spritesheet"); pixi.root.addChild(spritesheet); spritesheet.play(); // 播放音效 let sound = pixi.assets.playSound("Pixi.snd", { loop: true, volume: 0.5 }); } ``` ## Authors **[Haskasu](/profile/Haskasu)**
Pixi
Haskasu
visibility
code
OPEN
info_outline
# Base2 重新架構的Base2,相比Base少了很多功能,包括Pixi/Sound/ResourceManager/Physics/geoms都被拿掉,只留最主要的CG功能。 ## 基本功能 1. 取得專案的資料 ```typescript // 取得專案代碼 CG.Base2.projectCode; // 取得資源 CG.Base2.getAppResource(resourceAlias: string) // 取得資源網址 CG.Base2.getAppResourceFileUrl(resourceAlias: string, filename?: string) ``` ## 更新循環 Base2內建了一個更新循環系統。 ```typescript // 先定義一個每幀都要更新的函式 function updateFunc(dt: number) { } // 將函式加入更新循環系統 CG.Base2.addUpdateFunction(updateFunc); // 將函式移出更新循環系統 CG.Base2.removeUpdateFunction(updateFunc); ``` 另外也提供子更新循環系統可使用。 ```typescript import Updater = CG.Base2.utils.Updater; // 先定義一個每幀都要更新的函式 function updateFunc(dt: number) { } // 建立子更新循環系統 let updater = new Updater(); // 將函式加入更新循環系統 updater.addDelayFunction(updateFunc); // 可暫停 updater.pause(); // 可繼續 updater.resume(); ``` ## 鍵盤管理員 Base2提供了一個基本的鍵盤管理員,可以在按鍵被按下去(DOWN)、提起來(UP)、先按再提(PRESSED)的時候觸發事件。 ```typescript // 取得鍵盤管理員 import Keyboard = CG.Base.keyboards.Keyboard; import keyboard = CG.Base2.keyboard; import Key = CG.Base2.keyboards.Key; // 鍵盤事件 keyboard.on(Keyboard.EVENT.DOWN, (event: KeyboardEvent) => { if (Key.SPACE.matchEvent(event)) { // 當空白鍵被按下去的時候... } }) // 檢查目前按鍵狀態 if (keyboard.isDown(Key.SPACE)) { // 目前空白鍵是正在按下去的狀態 } ``` ## 補間變化 Base2內建了[tweenjs](https://github.com/tweenjs/tween.js)用來將某個物件的屬性,在一段時間內作動態的變化。 ```typescript async function makeAnimation() { // 建立一隻有x,y資料的動物 let animal = { x: 100, y: 100, }; // 建立補間變化,在1秒內讓動物的x和y變化到指定的值 let tween = new TWEEN.Tween(animal); tween.to( { x: 300, y: 200, }, 1000 // 毫秒 ); tween.start(); // 等待變化完畢 await CG.Base2.waitTween(tween); console.log(animal.x); // 這時會印出 300 } ``` ## JSZip Base2內建[JSZip](https://stuk.github.io/jszip/)。 ```typescript async function loadZip() { let zip = new JSZip(); await zip.loadAsync(buffer); for(let filename in zip.files) { ... } } ```
Base2
Haskasu
visibility
code
OPEN
info_outline
# Cards 在這兒寫下一段簡短的文字介紹你的遊戲吧。 ## 開始設計 <a href="cg://source/CG.Cards/game.events" class="mat-raised-button mat-primary">編輯遊戲事件表</a> ## 作者 **[cook1470](/profile/114899766849308759711@google)** ## 素材 **[Cute Cards](https://dani-maccari.itch.io/cute-cards-deck)**
Cards
cook1470
visibility
code
OPEN
info_outline
# MidiLib A simplified library to easily play midi music. ## Getting Started Minimum codes to get a midi to play. ```typescript async function examples() { // load the midi resource let player = await loadAndCreateMidiInstrumentPlayer("MidiLib.testmidi"); player.play(); } ``` Also support playSound() in Base library. ```typescript CG.Base.resourceManager.playSound("MidiLib.testmidi"); ``` Codes to get full control. ```typescript async function examples() { // load the midi resource await resourceManager.addAppResource("MidiLib.testmidi").load(); // create the player let player = createMidiInstrumentPlayer("MidiLib.testmidi"); // preload instruments, you can specify the default instrument // find the full list of instrument names in `instruments.ts` await player.preload({ defaultInstrument: "acoustic_grand_piano" }); // play the music player.play({ loop: true, startTick: 0, loopStartTick: 0, gain: 2, // volume tempoScale: 1.5, // tempo }); // control the music player.stop(); player.pause(); player.resume(); } ``` ## Player Events Player emits events for advanced controlling ### Track Events This event emits when a midi note is time to be played (or other meta data is dispatched.) ```typescript function catchTrackEvents(player: InstrumentPlayer) { player.on(MidiTrackEvent.TYPE, (event: MidiTrackEvent) => { let trackEvent = event.trackEvent; if(trackEvent.name == NoteOnEvent.NAME) { // check events/TrackEvent.ts for all TrackEvent names ... } }) } ``` ### EndOfFileEvent This event emits when the play head running to the end of all tracks. ```typescript function catchEndOfFileEvent(player: InstrumentPlayer) { player.on(EndOfFileEvent.TYPE, (event: EndOfFileEvent) => { ... }) } ``` ### ControlEvents This event emits when the player is being controled by calling control functions ```typescript function catchControlEvents(player: InstrumentPlayer) { // play() player.on(ControlEvent.TYPES.PLAY, (event: ControlEvent) => { // this happens when preloading completes after play() is called }) // stop() player.on(ControlEvent.TYPES.STOP, (event: ControlEvent) => { ... }) // pause() player.on(ControlEvent.TYPES.PAUSE, (event: ControlEvent) => { ... }) // resume() player.on(ControlEvent.TYPES.RESUME, (event: ControlEvent) => { ... }) } ```
MidiLib
Haskasu
visibility
code
OPEN
info_outline
# MidiPlayer 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)**
MidiPlayer
Haskasu
visibility
code
OPEN
info_outline
# RyvexiaLib 由 **[Ryvexia](https://ryvexia.gamelet.online/)** 移植過來的遊戲模組,這是一個音樂遊戲。 有任何問題請於 **[專案討論](https://code.gamelet.com/discuss/p/RyvexiaLib/0)** 回報,會盡快解決。 ### 遊玩方法 遊戲開始後,會播放音樂,並從畫面上方落下音符,當音符與下方的判定框重合後按下對應的按鍵來打擊音符,打擊時機越準分數越高。 預設為四個軌道,對應按鍵分別為 D、F、J、K。 音符的種類目前分為下列幾種: - **Tap**:單壓,當音符與下方的判定框重合後,按下對應的按鍵來打擊音符。 - **Hold**:長壓,當音符與下方的判定框重合後,按住對應的按鍵直到音符結束時完成打擊。 遊戲中按下 ESC 可暫停遊戲。 ## 如何開始? ```typescript // 設置譜面檔案路徑(專案內),必須先於專案內新增譜面資料檔案。 const chartSource = `CG.${CG.Base.projectCode}/test.json`; // 加載檔案。 CG.Base.resourceManager.addAppSource(chartSource) // 初始化 RyvexiaLib。 CG.RyvexiaLib.initialize() .then(() => { // 初始化完成後 // 初始化 pixi 舞台,建議舞台寬高 1920 x 1080。 CG.Base.pixi.initialize(1920, 1080); // 新增一個譜面資料物件,並匯入譜面資料。 const chartData = new CG.RyvexiaLib.datas.ChartData(); chartData.importSource(chartSource); // 加載該譜面的音樂資料。 chartData.loadMusic(() => { // 加載完成後 // 建立 Ryvexia 遊戲物件,並加入到 root 舞台顯示於畫面上。 const game = new CG.RyvexiaLib.games.Game(); CG.Base.pixi.root.addChild(game); // 設置該遊戲的譜面資料並開始遊戲。 game.setup(chartData).start(); }) }) ``` ## 自製譜面 本模組提供了具有圖形化介面的譜面編輯器,當然你也可以自己使用程式碼添加,甚至利用譜面資料可以新增資料的功能,自製一個譜面編輯器也可以。 ### 如何從編輯器開始? #### 快捷鍵: - W、上:譜面向上移動。 - S、下:譜面向下移動。 - Shift + 移動:加速移動。 - +:增加每小節的拍數。 - -:減少每小節的拍數。 - Shift + 測試遊戲:啟用自動遊玩模式。 (也可以拖動進度條來改變音樂進度。) ```typescript // 初始化 RyvexiaLib CG.RyvexiaLib.initialize() .then(() => { // 初始化 pixi 舞台 CG.Base.pixi.initialize(1920, 1080); // 創建譜面資料物件,BPM 為 160 const chartData = new CG.RyvexiaLib.datas.ChartData(160); // 設定譜面音樂資源名稱 chartData.musicAlias = "你的音樂資源別稱"; // chartData.musicFilename = "你的音樂資源檔名"; // 如果你的音樂是壓縮檔,就會需要用到這一條。 // 建立譜面編輯器並匯入譜面資源 const editor = new CG.RyvexiaLib.editors.ChartEditor(chartData); editor.loadByStorage(); // 於譜面編輯器建立後嘗試讀檔,若無檔案則會忽略。 editor.saveWhileTest = true; // 啟用編輯器測試遊戲時自動存檔。(只有在測試遊戲時會存檔,不是有更新就會儲存) // 建立主要遊戲(讓編輯器用於測試) const game = new CG.RyvexiaLib.games.Game(); // 建立編輯器頁面(用於控制編輯器與遊戲之間的溝通) const editorPage = new CG.RyvexiaLib.utils.pages.ChartEditorPage(editor, game); // 顯示編輯器頁面 editorPage.show(); }) ``` ### 如何從程式碼編輯? ```typescript // 創建一個譜面資料,bpm 為 175。 const chartData = new CG.RyvexiaLib.datas.ChartData(175); // 設定一些譜面資料。 chartData.title = 'Sing My Pleasure'; // 譜面標題 chartData.musicAlias = 'RyvexiaLib.Sing My Pleasure'; // 音樂資源別稱 chartData.musicAuthor = 'Vivy (Vo.Kairi Yagi)'; // 音樂作者、歌手 chartData.chartAuthor = '酷可(cook1470)'; // 譜面作者 // 預設有 4 個軌道,於第 1 軌道,第 0 節拍,位置 0 添加音符。 chartData.tracks[1].addNote(0, new NoteData(0)); // 於第 0 軌道,第 0 節拍,位置 0.5 添加音符。 chartData.tracks[0].addNote(1, new NoteData(0.5)); // 於第 2 軌道,第 7 節拍,位置 0.5 添加音符,音符長度 8。 chartData.tracks[2].addNote(7, new NoteData(0.5, 8)); // 創建好以後,可以使用 exportJson 匯出 JSON 物件,並使用 JSON.stringify 轉換成字串。 const text = JSON.stringify(chartData.exportJson()); // 再使用 Base 的 HtmlUtil 來下載檔案。 CG.Base.utils.HtmlUtil.downloadText(text, '我的譜面.json'); // 也可以將譜面資料壓縮後直接下載,不需轉換 JSON,且檔案大小會更小。 // CG.Base.utils.HtmlUtil.downloadText(chartData.exportGzip(), '我的譜面.rvx'); ``` 如果你想要使用壓縮後的譜面檔案,匯入的方法稍有不同。 ```typescript const chartSource = 'CG.YourProject/我的譜面.rvx'; // 與 #如何開始? 相同,先加載要使用的譜面,可參考上方介紹,在此省略。 // 利用 Base 的資源管理器讀取成字串。 const text = CG.Base.resourceManager.getText(chartSource); // 新增一個譜面資料物件,並匯入壓縮譜面資料。 const chartData = new ChartData(); chartData.importGzip(text); // 後續與 #如何開始? 相同,建立遊戲、載入音樂並開始遊戲。 ``` ## 頁面控制器 本模組提供了一個簡單的頁面控制器,以及一些預設的頁面可供使用,以下展示以編輯器為主的控制流程。 包含了封面、校正頁面、編輯器頁面。 ```ts // 初始化 RyvexiaLib CG.RyvexiaLib.initialize() .then(() => { // 初始化 pixi 舞台 CG.Base.pixi.initialize(1920, 1080); // 建立頁面管理器。 const pageManager = new CG.RyvexiaLib.utils.PageManager(); // 建立封面頁面,並註冊到頁面管理器中。 const coverPage = new CG.RyvexiaLib.utils.pages.CoverPage(); // coverPage.titleText.text = "我的音樂遊戲"; // 可改變封面標題文字,預設為 Ryvexia pageManager.registerPage(coverPage); // 建立校正、設定頁面,並註冊到頁面管理器中。 const calibrationPage = new CG.RyvexiaLib.utils.pages.CalibrationPage(); pageManager.registerPage(calibrationPage); const chartData = new CG.RyvexiaLib.datas.ChartData(175); chartData.musicAlias = "你的音樂資源別稱"; const editor = new CG.RyvexiaLib.editors.ChartEditor(chartData); editor.loadByStorage(); editor.saveWhileTest = true; const game = new CG.RyvexiaLib.games.Game(); // 建立編輯器頁面(用於控制編輯器與遊戲之間的溝通),並註冊到頁面管理器中。 const editorPage = new CG.RyvexiaLib.utils.pages.ChartEditorPage(editor, game); pageManager.registerPage(editorPage); // ========== 操控個頁面之間的切換流程。 ========== // 當於封面頁面開始時。 coverPage.onStart = () => { // 顯示校準頁面。 pageManager.show(calibrationPage.code); } // 當於校準頁面返回時。 calibrationPage.onReturn = () => { // 顯示譜面編輯器頁面。 pageManager.show(editorPage.code); } // 當於譜面編輯器頁面返回時。 editorPage.onReturn = () => { // 顯示封面。 pageManager.show(coverPage.code); } // 一開始先顯示封面頁。 pageManager.show(coverPage.code); }) ``` ## 進階設定 本模組將一些可設置常數放在 `CG.RyvexiaLib.Constant` 內,裡面有一些特別的參數可以調整,以下為預設值。 ```typescript // 以下可設定各判定分的範圍(時間差)。 CG.RyvexiaLib.Constant.PERFECT_TIME_RANGE = 46; CG.RyvexiaLib.Constant.GREAT_TIME_RANGE = 92; CG.RyvexiaLib.Constant.GOOD_TIME_RANGE = 138; CG.RyvexiaLib.Constant.MISS_TIME_RANGE = 200; // 以下可設定作為判定分顯示的文字,遊戲中、結算等。 CG.RyvexiaLib.Constant.SCORE_TYPES.PERFECT = "Perfect"; CG.RyvexiaLib.Constant.SCORE_TYPES.GREAT = "Great"; CG.RyvexiaLib.Constant.SCORE_TYPES.GOOD = "Good"; CG.RyvexiaLib.Constant.SCORE_TYPES.MISS = "Miss"; ``` ## 作者 **[module_cook1470](/profile/64897095@github)**
RyvexiaLib
module_cook1470
visibility
code
OPEN
info_outline
# 踩地雷(Minesweeper) 逛著逛著突然看到一個踩地雷的素材,就拿來做了。 ## 操作說明 - 滑鼠左鍵點擊(left click) - 點擊一個還沒踩過的方塊時,會踩該方塊。 - 點擊一個鄰近旗幟數大於等於該格數字的方塊,自動踩周圍還未踩過且沒插旗幟的方塊。 - 滑鼠右鍵點擊(right click) - 插旗幟。 遊戲目標:將所有非地雷方塊踩過一次。 失敗條件:踩到地雷。 ## 作者 **[cook1470](/profile/114899766849308759711@google)** ## Assets - **[Minesweeper esk assets](https://opengameart.org/content/minesweeper-esk-assets) by [FrostC](https://opengameart.org/users/frostc)**
Minesweeper
cook1470
visibility
code
OPEN
info_outline
# Ripples 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)**
ripples_keanu
zy.jiang
visibility
code
OPEN
info_outline
# 測試莫名其妙Bug區 ## 待修 - 暫無
OpenForBugTestWino
winoCG
visibility
code
OPEN
info_outline
# Ryvexia Rhythm + Vex = Ryvexia 使用 **[RyvexiaLib](https://code.gamelet.com/edit/RyvexiaLib)** 製作出來的遊戲本體。 你也可以自己在專案中安裝 RyvexiaLib 來製作自己的音樂遊戲,模組的介紹頁面有提供簡單的範例,以及教你如何使用圖形化介面的譜面編輯器。 開放投稿自製譜面,你可以透過任何聯絡得到我的管道進行投稿。例如: **[嘎姆擂台留言板](https://gamelet.online/user/114899766849308759711@google/board)** 、Discord [cook1470]。 ## 遊玩方法 遊戲開始後,會播放音樂,並從畫面上方落下音符,當音符與下方的判定框重合後按下對應的按鍵來打擊音符,打擊時機越準分數越高。 預設為四個軌道,對應按鍵分別為 D、F、J、K。 音符的種類目前分為下列幾種: - **Tap**:單壓,當音符與下方的判定框重合後,按下對應的按鍵來打擊音符。 - **Hold**:長壓,當音符與下方的判定框重合後,按住對應的按鍵直到音符結束時完成打擊。 遊戲中按下 ESC 可暫停遊戲。 ## 作者 **[cook1470](/profile/114899766849308759711@google)** ## 特別感謝 **封面設計:[Kii_Ensof](https://code.gamelet.com/profile/Kii_Ensof)**
Ryvexia
cook1470
visibility
code
OPEN
info_outline
# Dunjo 不知道你有沒有聽過一句話:「挖欸林星洗歐貝欸。」<br/> 老實說跟這款遊戲其實也沒什麼關係。 這是一款 2D 橫向卷軸遊戲,<br/> 最酷的是它可以自己自製關卡,<br/> 而且還分享給別人玩!<br/> 趕快進來發揮你的創意吧~ 這遊戲讓我肝了三天三夜。 ## 操作方法 A、D-左右移動<br/> W-跳躍、爬樓梯<br/> S-下樓梯<br/> SPACE-互動<br/> S + SPACE-跳下平台<br/> ## 遊戲目標 找到鑰匙,並通往終點的大門。<br/> ## 關卡編輯器 分別有三種模式,操作、繪製、擦除。 操作可以設定一些具有額外參數的物件,目前只有電腦。 繪製可以在地圖上新增物件。 擦除可以將物件從地圖上移除。 每一關都至少需要設置玩家、鑰匙、大門,且這三者也只能設置一個。<br/> 其餘有功能性的物件為爬梯、平台、消失的方塊、金幣、火焰。<br/> 剩下的目前皆為裝飾性物品。 ## Authors **[cook1470](/profile/cook1470)** ## Asstes 字型:[Pixeloid Font](https://www.fontspace.com/pixeloid-font-f69232)<br/> 作者:[GGBotNet](https://www.fontspace.com/ggbotnet)<br/> 許可證:[SIL Open Font License, Version 1.1](https://opensource.org/license/ofl-1-1/) **** 字型:[俐方體11號/Cubic 11](https://github.com/ACh-K/Cubic-11)<br/> 作者:[ACh-K](https://github.com/ACh-K)<br/> 許可證:[SIL Open Font License, Version 1.1](https://opensource.org/license/ofl-1-1/) **** 精靈圖標題:[Dunjo Tileset & Sprites](https://arks.itch.io/dungeon-platform-tileset)<br/> 作者:[Arks💢](https://arks.itch.io/)<br/> 許可證:[CC-BY 4.0(創用CC姓名標示 4.0 國際許可協議)](https://creativecommons.org/licenses/by/4.0/)<br/> **** [All Sound Effects](https://sfxr.me/) **** 音樂標題:[Head in the Sand (seamless loop)](https://opengameart.org/content/head-in-the-sand-seamless-loop)<br/> 作者:[congusbongus](https://opengameart.org/users/congusbongus)<br/> 許可證:[CC0(知識共有宣告 - 不受版權保護)](https://creativecommons.org/publicdomain/zero/1.0/)<br/> **** 音樂標題:[Chubby Cat](https://opengameart.org/content/nintendo-style-funny-music-loop-02)<br/> 作者:[PlayOnLoop](https://opengameart.org/users/playonloop)<br/> 許可證:[CC-BY 4.0(創用CC姓名標示 4.0 國際許可協議)](https://creativecommons.org/licenses/by/4.0/)<br/> **** 其他素材:自製
Dunjo
cook1470
visibility
code
OPEN
info_outline
# Fourier Transform 實例展示傅立葉轉換的兩種應用。 科普影片: https://youtu.be/wRNMrTHGJOY ## Authors **[Haskasu](/profile/Haskasu)**
Fourier Transform
Haskasu
visibility
code
OPEN
info_outline
# 射飛鏢 一年一度的射飛鏢大賽,據說只要完成遊戲,就可以獲得再玩一次的機會。<br/> 「什麼!竟然有白白送上門的機會?」<br/> 如果你以為只有這樣那你就錯了,據說分數最高的人還可以榮登第一名的寶座!<br/> 「我的天啊!這個獎勵也太吸引人了吧!」<br/> 所以你還再等什麼?趕快給我進來射飛鏢! ### 遊戲玩法 按住飛鏢後拖曳出去放開,即可投擲飛鏢,每次投擲時會扣 1 分。<br/> 使飛鏢擊中標靶可以獲得 2 分。<br/> 想辦法在 30 秒內得到更多的分數! **相關文章:[什麼!在網頁上也可以寫遊戲?](https://ithelp.ithome.com.tw/users/20152368/ironman/6932)** ## 作者 **[cook1470](/profile/114899766849308759711@google)** ## 特別銘謝 ### 音樂: 標題:One<br/> 作者:[pheonton](https://opengameart.org/users/pheonton)<br/> 來源:https://opengameart.org/content/one<br/> 授權:CC-BY 3.0<br/> ### 音效: 標題:Swishes Sound Pack<br/> 作者:[artisticdude](https://opengameart.org/users/artisticdude)<br/> 來源:https://opengameart.org/content/swishes-sound-pack<br/> 授權:CC0<br/>
射飛鏢
cook1470
visibility
code
OPEN
info_outline
# 我的光暈戰記 My Twilight Wars 光暈戰記的同人陣範本,編輯地圖和任務檔就可以製作出自己的任務了。 The template that help developers to build their own twilightwars-like game, your own map, your own mission. * [同人陣製作教學影片](https://www.youtube.com/playlist?list=PL1GxW0vJciBTV9DNrhhRpB80gl5irQRx8) ## 快捷鈕 Shortcuts <a href="cg://source/CG.TWEventsGameTemplate/game.events" class="mat-raised-button mat-primary">編輯任務事件表 (Edit Events)</a> <a href="cg://source/CG.TWEventsGameTemplate/gamemap.twmap" class="mat-raised-button mat-primary">編輯地圖 (Edit Map)</a> ## 設定任務季度列表 / Setup Story Seasons 將 appSeasons.ts 設為遊戲進入點,即可支援任務章節/列表。 <a href="cg://source/CG.TWEventsGameTemplate/seasons.zh.json" class="mat-raised-button mat-primary">編輯 seasons.json 任務列表(中文版)</a> Set appSeasons.ts as the entry point to support seasons/mission list. <a href="cg://source/CG.TWEventsGameTemplate/seasons.en.json" class="mat-raised-button mat-primary">Edit seasons.json Mission List (English Ver.)</a>
PPT45645
Miliartic.Zackie
visibility
code
OPEN
info_outline
# 被追殺的天影武士 ### 劇情摘要 被皇家騎士追殺而血流不止的你,在因緣際會之下逃到了艾爾瑪村尋求幫助。 這裡的村民由於曾經受過天影十字軍的幫助,對任何天影的人都十分友好,眼看你就要被皇家騎士發現,村民們暫時先讓你躲在了三合院的屋內,何奈皇家騎士來到三合院前,卻打算強行搜索這片區域。 遲早都會被發現的你,該如何不讓無辜的村民陷入爭鬥中,卻同時又能夠保住自己的命呢?
被追殺的天影武士
cook1470
visibility
code
OPEN
info_outline
# 使用MiniMax演算法實作井字遊戲AI 本專案為《出版社對我說:把祕笈通通交出來!》第32章的程式實作練習( [Youtube影片](https://youtu.be/iNCBnFNexi4) ) [去天瓏買書](https://www.tenlong.com.tw/products/9786263335714) <img src="https://cf-assets2.tenlong.com.tw/products/images/000/193/239/original/9786263335714.jpg?1691986676" width="360">
tic_tac_toe_minimax
Haskasu
visibility
code
OPEN
info_outline
# 【速造災難】Speedcraft Disaster [README.md] <table> <tr> <td width="90px"><img height="64px" src=https://a.gamelet.online/gassets/resource/89c22eb52e1b08f3d0cf783c90c1296f/Untitled-2-Copy.png></td> <td> 本專案為開源專案,僅供學習、也歡迎到「專案討論區」進行提問;<br> 遊戲相關討論或是建議可至嘎姆擂台「遊戲討論區」。<br> <font color="grey">遊戲參考範本為「超級雞馬 / Ultimate Chicken Horse」。</font><br> </td> </tr> </table> <hr> <center> <img src=https://a.gamelet.online/gassets/resource/11db278fa9824e80bc03f937b2b76209/thumb_64d59c162f2de.jpg> <br> 「速造災難 / SpeedCraft Disaster」是款多人同樂派對遊戲,<br> 可供 2 - 6 位玩家遊玩、多達20種可設置物件與各種各樣別具特色的地圖。<br></center> <hr> 【遊戲提示】物件與地形高度都有些異樣,或許可以當作墊腳方塊、亦或是擋住某樣東西,請自行探索。 ## 地圖關卡 <table width="90%"> <tr> <th> <center>可遊玩地圖</center> </th> <th> <center>廢棄地圖</center> </th> </tr> <tr> <td> <ul><center> <li>石頭橋</li> <li>屋簷之頂</li> <li>聖塔那谷火山</li> <li>漂浮小孤島</li> <li>碎冰湖雪屋</li> <li>機關城</li> <li>熔岩洞窟</li> <li>地鐵站</li> </center></ul> </td> <td> <ul> <li>黑暗森林</li> </ul> </td> </tr> </table> ## 額外模組 / 動作&檢查 - #### 額外模組 - CgEventsExp - TwilightWarsEventsExp - #### 專案自製動作檢查 - AddMapBlockYQ.action - UpdateMapBlockTrapYQ.action - CameraZoomActionYQ.action - CheckPropTile.check - InCheckVarNina.check ## 站外素材資源 - [**Cubic 11/俐方體11號**](https://github.com/ACh-K/Cubic-11) - [**woodBox_bg**](https://opengameart.org/content/2d-wooden-box) - [**TarzanNightClub.mp3**](https://spruce-studios.itch.io/free-music-pack) - [**Seriously.mp3**](https://www.fesliyanstudios.com/royalty-free-music/download/seriously/235) ## 作者 - **[Nyuightq](/profile/Nyuightq)** — 遊戲機制 與 大部分地圖機制設計者<br> - **[LittleAir](/profile/LittleAir)** — 地圖設計者、地圖機制意見提供者 與 部分造型製作者<br> - **[LittleLoli](/profile/581109118900711@facebook)** — 伺服器提供者、部分檢查typescript檔案提供者
【速造災難】
LittleLoli
visibility
code
OPEN
info_outline
# Nyuightq's Blank Events <img src="https://a.gamelet.online/gassets/resource/b782c2cf6b813510517c68e5280a2b03/thumb_64d8a50346c3a.jpg"><br> <font color="#0094c2" size="2" style="background-color"> <strong>本專案僅使用官方模組,用於問題回報或是分享用途。</strong> </font> ## 作者 **[Nyuightq](/profile/102319633085879594800@google)**
[Nyuightq] Blank Events
Nyuightq
visibility
code
OPEN
info_outline
# QWERTYUIOP 在這兒寫下一段簡短的文字介紹你的遊戲吧。 ## 開始設計 <a href="cg://source/CG.QWERTYUIOP/game.events" class="mat-raised-button mat-primary">編輯遊戲事件表</a> ## 作者 **[mmYQv](/profile/106971574862077346970@google)**
QWERTYUIOP
mmYQv
MORE RESULTS
ⒸCode.Gamelet.com |
Privacy Policy
|
Terms of Service