【四聖龍神錄的程式設計教室】第16章、來製作洩矢大人的彈幕吧
原文地址:
因為之前已經做好了固定的模式,所以彈幕的新增就變的很容易了。
這次只要把彈幕函式進行改動就行了。
我們就用shot_bullet_H008來實現洩矢大人的彈幕吧。
【洩矢大人】這個彈幕是東方風神錄EX面的最後一個彈幕。 不太清楚的人看下面的視訊來確認一下吧。(對不起,原文給nico的地址我打不開,只好發b站的了)
很意外的是,EX面的最後一個彈幕是這麼簡單的實現的,這麼說的話東方廚們也許會不高興,
但我們還是來簡單的實現一個相似的彈幕來吧。
————————————————————————————————————————————————————————————————————————
---- shotH.cpp裡新增如下程式碼 ---- //崇符【洩矢大人】 void shot_bullet_H008(int n){ int t=shot[n].cnt; int k; if(t>=0 && t<1200 && t%90==0){ double angle=rang(PI); for(int j=0;j<2;j++){//在中途分裂成兩部分 for(int i=0;i<60;i++){//每部分60個 if(shot[n].flag!=2 && (k=shot_search(n))!=-1){ shot[n].bullet[k].knd =8;//第八號子彈 shot[n].bullet[k].angle =angle+PI2/60*i;//圓形 60個 shot[n].bullet[k].flag =1; shot[n].bullet[k].x =enemy[shot[n].num].x; shot[n].bullet[k].y =enemy[shot[n].num].y; shot[n].bullet[k].col =4;//四號顏色 shot[n].bullet[k].cnt =0; shot[n].bullet[k].state =j;//狀態。根據是0還是1來區分旋轉方向 shot[n].bullet[k].spd =2; } } } se_flag[0]=1;//發射音效 } for(int i=0;i<SHOT_BULLET_MAX;i++){//所有子彈 if(shot[n].bullet[i].flag>0){//有註冊了的子彈的話 int state=shot[n].bullet[i].state; int cnt=shot[n].bullet[i].cnt; if(30<cnt && cnt<120){//在 30 -120 的時間內 shot[n].bullet[i].spd-=1.2/90.0;//速度減少 1.2/90 shot[n].bullet[i].angle+=(PI/2)/90.0*(state?-1:1);//傾斜90度/90 } } } }
————————————————————————————————————————————————————————————————————————
子彈的編號在 bullet 資料夾裡可以找到和子彈編號一樣的圖片,來確認下。
(b8.png)
最左邊的是0號的話,顏色編號為1號的就是水珠的顏色,顏色就指定為1號吧。
這裡要傳0或者1給state引數,洩矢大人的彈幕在一個地方會發射2個子彈,
中途會變成2個軌道。
在那裡,你會看到,狀態為0的彈幕會往角度的正方向變化,狀態為1的彈幕相反。
shot[n].bullet[i].angle+=(PI/2)/90.0*(state?-1:1);
代入這裡。問號是條件運算子,不知道的去谷歌一下吧。
這樣做的話,兩種角度的彈幕就出來了。
/カウンタ | 移動パターン | 敵の種類 | x座標 | y座標 | スピード | 発射時間 | 弾幕種類 | 弾の色 | 體力 | 弾種類 | 待機時間 | アイテム1 | 2 | 3 | 4 | 5 | 6 |
/cnt | pattern | knd | x | y | sp | bltime | blknd | col | hp | blknd2 | wait | item_n | |||||
60 | 9 | 0 | 200 | 150 | 0 | 60 | 8 | 1 | 100 | 0 | 1200 | 0 | -1 | -1 | -1 | -1 | -1 |
執行結果
本人CSDN部落格目錄:
相關推薦
【四聖龍神錄的程式設計教室】第16章、來製作洩矢大人的彈幕吧
原文地址: 因為之前已經做好了固定的模式,所以彈幕的新增就變的很容易了。 這次只要把彈幕函式進行改動就行了。 我們就用shot_bullet_H008來實現洩矢大人的彈幕吧。 【洩矢大人】這個彈幕是東方風神錄EX面的最後一個彈幕。 不太清楚的人看下面的視訊來確認一下
【四聖龍神錄的程式設計教室】第14章、來製作各種各樣的彈幕資料吧
原文地址: 那些麻煩的設定終於搞定了,那麼這次我們就來做各種各樣的彈幕資料吧。 下面是一直髮射自機狙的彈幕函式001. 往 shotatan2 函式裡,傳入n,就可以返回自機和編號為n的敵機的角度,這樣很簡單就把射向自機的角度傳給angle 變量了。 ————————
【四聖龍神錄的程式設計教室】第22章、放炸彈來攻擊吧
原文地址: 這次講炸彈攻擊。 和往常一樣,準備好資訊儲存的地方,然後進行載入,然後讓他自動計算,大概就是這樣的感覺就行了。。。 在之前的章節裡,我們準備了變數來展現特效。 之前敵機消滅時,使用了特效。現在在同一個儲存區裡,載入炸彈的特效看看。 之前也說過了,這個特效變
【四聖龍神錄的程式設計教室】第17章、讓自機可以發射子彈吧
原文地址: 那麼,看起來已經有點像樣了呢。 把自機的射擊功能和碰撞檢測加上的話,大部分的架構就完成了。 自機的射擊實現方式也是和基本的敵機射擊的實現是差不多的。 製作一個儲存子彈資訊的結構,把種類,速度,角度等等儲存進去就行了。 這些數值設定好了之後,計算部分就可以輕鬆
【四聖龍神錄的程式設計教室】第0章 開始
原文地址: 龍神錄的程式設計教室,是以通俗易懂的方式,來講解基本的射擊遊戲作為目標的地方。 如果把這裡的每個章節,都認真學習了之後,你就可以製作出像龍神錄這樣的射擊遊戲了。 如果對龍神錄還不熟悉,請點選這裡 四聖龍神錄,是使用了包含DirectX庫的DxLib庫來
【四聖龍神錄的程式設計教室】第19章、給敵機加上消滅特效吧
原文地址: 敵機就只是突然消失的話,感覺少了點什麼,我們來給他加上消滅的特效吧。 那麼首先,我們把特效需要用到的一個檔案新增進來。 在解決方案資源管理器裡,專案上點選右鍵,新增項, 選擇 mydat 資料夾的 source 裡的 effect.cpp 加入。 在裡面複
【四聖龍神錄】 開源仿東方 彈幕射擊遊戲教程 官網(譯)以及國內參考翻譯資料
四聖龍神錄 官網地址 引用doujin 上的帖子的介紹 開源仿東方STG-四聖龍神錄,帶彈幕製作教程60講,使用C語言+DXLib 非常不錯的仿東方的STG,網站上面帶製作教程,可以用來參考。附帶60講教程詳細介紹怎樣修改他的彈幕STG工程製作彈幕。使用DxLib+
【集體智慧程式設計】第三章、發現群組
一、前言 本章中,我們將學習到如下內容:從各種不同的來源中構造演算法所需的資料;兩種不同的聚類演算法;更多有關距離度量(distance metrics)的知識;簡單的圖形視覺化程式碼,用以觀察所生成的群組;最後,我們還會學習如何將異常複雜的資料集投影到二維空間中。 聚類
【程式設計珠璣】第十章 節省空間
一,概述 1)節省空間帶來的好處 程式變小使得載入更快;更容易讀入快取記憶體;需要操作的資料減少從而減少操作時間。 2)節省空間的方法 數學函式式替代要儲存的資料。簡單例子為:a[i]=i
【算法導論】第六章、堆排序
兩個 高度 位置 思想 n) 隊列 sigma 復雜 max 基本過程: 1、保持最大堆的性質:假設兩個子堆都滿足,只需要根節點依次換下去,復雜度O(lg n) 2、初始化堆:後半段都是葉子,在前半段從後往前,依次執行上述最大堆性質的操作,名義復雜度是O(n lg n),
【算法導論】第七章、快速排序
很好 補充 第七章 而是 合並 art 元素 一個 排序 快排的優勢: 1、期望為O(n lgn) 2、常數因子比較小 3、就地排序 4、在虛存環境很好工作 與合並排序一樣是分治思想,但是不是從中間截斷,而是通過partition過程實現的 每次選擇最後一個元素為q,然
【安富萊二代示波器教程】第4章 示波器設計—主界面布局和框架
font 實現 總結 代碼 波形 進入 新版 坐標 forum 第4章 示波器設計—主界面布局和框架 本章簡單為大家說明主界面的布局和框架。 4.1 主界面框架選擇 4.2 主界面布局 4.3 總結 4.1 主界面框架選擇 em
【校招面試 之 劍指offer】第16題 數值的整數次方
iostream 面試 直接 lse cpp sin 校招 ack 整數次方 方法1:直接求解,但是要註意特殊情況的處理:即當指數為負,且底數為0的情況。 #include<iostream> using namespace std; template<
【.NET Core專案實戰-統一認證平臺】第七章 閘道器篇-自定義客戶端限流
原文: 【.NET Core專案實戰-統一認證平臺】第七章 閘道器篇-自定義客戶端限流 【.NET Core專案實戰-統一認證平臺】開篇及目錄索引 上篇文章我介紹瞭如何在閘道器上增加自定義客戶端授權功能,從設計到編碼實現,一步一步詳細講解,相信大家也掌握了自定義中介軟體的開發技巧了,本篇我們將介紹如
【.NET Core專案實戰-統一認證平臺】第三章 閘道器篇-資料庫儲存配置(1)
原文: 【.NET Core專案實戰-統一認證平臺】第三章 閘道器篇-資料庫儲存配置(1) 【.NET Core專案實戰-統一認證平臺】開篇及目錄索引 本篇將介紹如何擴充套件Ocelot中介軟體實現自定義閘道器,並使用2種不同資料庫來演示Ocelot配置資訊儲存和動態更新功能,內容也是從實際設計出發
【.NET Core專案實戰-統一認證平臺】第五章 閘道器篇-自定義快取Redis
原文: 【.NET Core專案實戰-統一認證平臺】第五章 閘道器篇-自定義快取Redis 【.NET Core專案實戰-統一認證平臺】開篇及目錄索引 上篇文章我們介紹了2種閘道器配置資訊更新的方法和擴充套件Mysql儲存,本篇我們將介紹如何使用Redis來實現閘道器的所有快取功能,用到的文件及原始
【.NET Core專案實戰-統一認證平臺】第六章 閘道器篇-自定義客戶端授權
原文: 【.NET Core專案實戰-統一認證平臺】第六章 閘道器篇-自定義客戶端授權 【.NET Core專案實戰-統一認證平臺】開篇及目錄索引 上篇文章我們介紹了閘道器使用Redis進行快取,並介紹瞭如何進行快取實現,快取資訊清理介面的使用。本篇我們將介紹如何實現閘道器自定義客戶端授權,實現可以
【.NET Core專案實戰-統一認證平臺】第八章 授權篇-IdentityServer4原始碼分析
原文: 【.NET Core專案實戰-統一認證平臺】第八章 授權篇-IdentityServer4原始碼分析 【.NET Core專案實戰-統一認證平臺】開篇及目錄索引 上篇文章我介紹瞭如何在閘道器上實現客戶端自定義限流功能,基本完成了關於閘道器的一些自定義擴充套件需求,後面幾篇將介紹基於Ident
【.NET Core專案實戰-統一認證平臺】第九章 授權篇-使用Dapper持久化IdentityServer4
【.NET Core專案實戰-統一認證平臺】開篇及目錄索引 上篇文章介紹了IdentityServer4的原始碼分析的內容,讓我們知道了IdentityServer4的一些執行原理,這篇將介紹如何使用dapper來持久化Identityserver4,讓我們對IdentityServer4理解更透徹,
【Django REST framework電商專案筆記】第05章 商品列表頁功能開發(下)
drf中的request和response drf 對 Django 的 request 和 response 進行了封裝 瀏覽器請求的 request 會被 drf 封裝擴充套件為標準的 http request 在基本的 httpRequest 上擴充套件,