忍者ブログ
☆努力の結晶☆
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


2週間掛かり当たり判定を実装。DXライブラリを参考に。
ちなみに14歳からできる~と言う本を見てやったのでこんなもんです。
背景は、背景資料館(http://hsiryokan.web.fc2.com/)ものをお借りしてます
心から感謝します。これは、まだ土台なのでゲームでは、ありません。
スクリプト実装自体が、超不完全ですし。ドット絵も変更予定なのでだいぶ
変化させます。SDキャラみたい変更すると思いますし。このキャラを書くだけ
で疲れるので心が折れます。94X94+16コマ仕様だから。
ソースは、色んな方のものを参考してます。ONSとか物など。
CPPやh(ヘッダ)ファイルは、セットなので組み方を間違えるとすぐにエラー(涙)
しかしアクションゲームのソースが参考にするものがないので手探り状態。

TOP画像は、同人誌をネットで買おうしたらゲーム(えろげー)やアニメのコスした
女DVDが多く表示され、なかなか目的の同人誌に探せなかった。
「時空のデーモン めもらるクーク」ってどこで買えるだ~コミケグッズなのに~~
うんざりしたので怒りこめて変えてみました。(気分でまた変えるかも)
某通販サイト、同人誌と3Dものを同じするな。禁止してほしいW。
コスしたアダルトやAVを規制するべきような。あと大人おもちゃって2Dパクり
良いかと思う。某書店とかにある、よつのは(PC)ののや緋弾のアリアなどを
(この前なんかtoハート2の環姉似たヤツとかあったし。舞?タマキだろう!)
パクったキャラのパケとか見てて悪意を感じる。漫画やアニメを規制する前に
こっちを規制すべきだと思う。オタク商法もルールがいるような・・・。
PR


*参考画像は、ナツユメナギサです。
あくまでも参考画像ですのでご了承ください。
(復帰選択肢 例 実験方式)
mov %20,0
*map_01
bg"選択肢マップ¥MAP_BASE00.jpg                                                                               
bgm"bgm\24_niti_7_sizu.ogg"
lsp 11,":a;選択肢マップ/MAP_g11.jpg",150,180,255
lsp 12,":a;選択肢マップ/MAP_g19.jpg",40,-45,255
lsp 13,":a;選択肢マップ/MAP_g09.jpg",110,150,255
lsp 14,":a;選択肢マップ/MAP_g15.jpg",180,-30,255
lsp 15,":a;選択肢マップ/MAP_g07.jpg",300,50,255
++++Pは、表示、Cは、表示しないと言う意味

*L_btn_map_01(11などの数字は、lsp番号と同じもの)
exbtn 11,1,"P11C12C13C14C15C16"
exbtn 12,2,"C11P12C13C14C15C16"
exbtn 13,3,"C11C12P13C14C15C16"
exbtn 14,4,"C11C12C13P14C15C16"
exbtn 15,5,"C11C12C13C14P15C16"
exbtn_d,"C11C12C13C14C15C16"
print 2
textoff
btnwait %0
;;;;;;;;これから下記を記入しないとボタン画像が飛んだ先でも残る;;;;;;;;;;;;;;;;;;;
btndef ""
csp -1
    ;これ以降は必ず画面が切り替わるので、ボタン定義とスプライトを消しておく
bg black,10,300
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
if %0 == 0 goto *L_btn_map_01
if %0 == -1 systemcall rmenu
if %0 == 1 dwave 1,"se/_SE_OK.wav":wait 3000:goto *kyoukai01
if %0 == 2 dwave 1,"se/_SE_OK.wav":wait 3000:goto *kaigan01
if %0 == 3 dwave 1,"se/_SE_OK.wav":wait 3000:goto *apat01
if %0 == 4 dwave 1,"se/_SE_OK.wav":wait 3000:goto *mati01
if %0 == 5 dwave 1,"se/_SE_OK.wav":wait 3000:goto *genseirin01

goto *L_btn_map_01
print 1
ここ重要(この上の部分は、0txtに書く文
これをしないと変な所へ飛ぶバグがでる。
add %20,4

goto *map_if01
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;設定計算
*map_if01
if %20=9 goto *map_01
if %20<9 goto *map_01
if %20=10 goto *hajme01
if %20>11 goto *hajme01
(こっちを1TXT シナリオ部分に追加する)
4箇所にそれぞれ1.2.3.4をそれぞれ足す
add命令文をmap選択肢分の変数に返す意味
に持ち込む。3の場所を2回行っても6なので
選択肢分に戻される。他もそうなるのでなので
回ってすべてみると行けるようになる。
それより良い方法は、
いた所のスクリプトボタンを消していけば良いだが
NSって以外にその言うことが難しいので研究中。
コレでマップ選択肢の簡単な説明終ります。
結構こう言う選択肢があるゲームは、楽しくなるので
実装を検討中。CG作成中。これは、趣味で劣化移植
していた時に見つけたもの。この理論って
C+にも同じような概要がある(タイトルボタン部分が)
NSスクから入るとCでのゲーム作成時に気づくことが多い。



                     
80 50 96 60 112 70 128 80 144 90 160
81 51 97 61 113 71 129 81 145 91 161
82 52 98 62 114 72 130 82 146 92 162
83 53 99 63 115 73 131 83 147 93 163
84 54 100 64 116 74 132 84 148 94 164
85 55 101 65 117 75 133 85 149 95 165
86 56 102 66 118 76 134 86 150 96 166
87 57 103 67 119 77 135 87 151 97 167
88 58 104 68 120 78 136 88 152 98 168
89 59 105 69 121 79 137 89 153 99 169
90 5A 106 6A 122 7A 138 8A 154 9A 170
91 5B 107 6B 123 7B 139 8B 155 9B 171
92 5C 108 6C 124 7C 140 8C 156 9C 172
93 5D 109 6D 125 7D 141 8D 157 9D 173
94 5E 110 6E 126 7E 142 8E 158 9E 174
95 5F 111 6F 127 7F 143 8F 159 9F 175
関数ポインター=メモリのアドレス番号。
例えば>画像や音楽鳴らすなど行動させるのに理解しないとならない。
VCだけじゃなく他のツールにも関係して来る。現実世界で1.2.3.などの整数は、
10進数に当たる。実際は、0から始まるが分かりやすく言えば、改造ツール
を使うことある人は、よく見る数字になる。
SpoilerAL.exeと言うツールをしていますか?最近では、
戦闘系エロゲー>神採りや大帝国など最近のものに使われている、
あれは、キャラLVなどや攻撃力を書き換えるものである。
ただしコレだけじゃ動作できないのでSSGファイルがいるので
ここからダウンロードしてください。
http://www.necocan.info/supb2/x/topics.cgi?mode=new&page=7
これは、ポインタの説明ですのでご了承ください。
例えばキャラLVを99にしたい場合は、キャラのアドレスに合わして
普通に99って打っては、ダメですよ。上記の表から線が入っている
所を見てください。99>63になってますネ。コレをこのまま打ってもNG
PCが理解できる数値>00000063を打って決定ボタンを押すと変化する。
他にアイテムを75個ほしいなら0000004Bと打つ。
これが関数ポインタである今、自作EXEためにエクセル
に纏めている。それぞれを管理する表を作成中。ついでシナリオ
テキストも書きやすいエクセルで台本ツールも考案中。
以外まとめたい時にエクセルは、役に立つ。
今年>騙されて25万取られ分が戻ってこないかなと思う。


突然、始まったVCでのゲーム開発は、二日目
始めは、VC2010で作っていたがXPとは、愛称が悪いために
VC2008に落として開発して合間にゲームをプレイしていた。
FCロックマン4が話題に上がっていた。どうやらフジの衛星のTV
ゲームセンターCXと言う番組でプレイされていたようで気になった
みました。感想として有野部長(お笑い芸人)==;下手すぎるって
ほとんどがE缶でのゴリ押しで撃破って(オイオイ)
ファラオショットを打ちすぎ。
敵には、無敵時間ってあるだからと思いつつ見ました。
ちなみにFCロックマンの難易度は、4>5>6>3>1>2って感じ。
ロックマンは、2D世界では、神げーだと思う。個人的に好きなゲームは、
アクションならロックマンですが
RPGならアルトネリコ、ヴァルキリーP
ロボ
ならバーチャローンPCは、エロゲーですよ。
エロゲーも最近は、進化してるよな~と思います。特にエウが凄い躍進で
CGも良くなっている上にバトル要素が言い、北海道の生まれとして
嬉しいかぎり、PNは、初心を忘れないために生まれ故郷の連想する物
としています。そんなわけでゲーム好きな私個人が開発するために
DXライブラリーを勉強している。
DXライブラリー(略DXR)で成功した
ゲームRosenkreuzstiletteと言う同人ゲーの続編が出るようで応援
していきたいと思います。続編の体験版を少しやったが難しい特に火の面の
消えるブロックが鬼クラスで死にまくる。FCロックマンより辛い面。><
少し脱線しましたね。ゲーム開発に戻りますよ。
今回は、こんな感じです。キャラは、32X32 エッジで作成(透過は、黒なので
黒(0.0)は、使わないで作成する)パッドでも動作する。ビルドの失敗した挙句に
ようやく完成(まだまだですが。)
(ちなみにこんな感じでmain.cpp1に打ってます。しかしある程度C言語の知識が
入りますので勉強しまくりです。設定が重要なのでHPでよく読んで設定してください)
公式HPの設定が鍵なのでそこから入ってください。CPPってのは、
Nsで言うと
メモ帳やエディタと同じ細かい設定は、h(ヘッダファイル)で定義する感じになる。
これが勉強途中なので完成するにつれ変化していくと思います。始めなので
main.cppだけでできるようにしてます。画像は、必ずプロジェクトのあるフォルダに
リンクしてから入れてください。
#include "DxLib.h"
#define SCREEN_WIDTH     (800)                          // 画面の横幅
#define SCREEN_HEIGHT    (600)                          // 画面の縦幅
#define CHIP_SIZE        (32)                           // 一つのチップのサイズ
#define MAP_WIDTH        (SCREEN_WIDTH / CHIP_SIZE)     // マップの横幅
#define MAP_HEIGHT       (SCREEN_HEIGHT / CHIP_SIZE)    // マップの縦幅

#define G                (0.3F)                         // キャラに掛かる重力加速度
#define JUMP_POWER       (9.0F)                         // キャラのジャンプ力
#define SPEED            (5.0F)                         // キャラの移動スピード
#define CHAR_SIZE        (30)                           // プレイヤーのサイズ


int PlayerX , PlayerY ;
int JumpPower ;
int PlayerGraph ;

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
       LPSTR lpCmdLine, int nCmdShow )
{
 int Key ;

 SetGraphMode( 800,400,32 ) ;
 if( DxLib_Init() == -1 ) // DXライブラリ初期化処理
 {
   return -1;    // エラーが起きたら直ちに終了
 }

 // 描画先画面を裏画面にセット
 SetDrawScreen( DX_SCREEN_BACK )
;

 // グラフィックのロード(画像名・ファイル形式)
 PlayerGraph = LoadGraph( "noa1.bmp" ) ;

 // キャラクターの初期データをセット
 PlayerX = 0 ;
 PlayerY = 0 ;
 JumpPower = 0 ;

 // ループ
 while( ProcessMessage() == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0 )
 {
  // キー入力取得
  Key = GetJoypadInputState( DX_INPUT_KEY_PAD1 ) ;

  if( Key & PAD_INPUT_UP ) PlayerY -= 3 ;  // 上を押していたら上に進む
  if( Key & PAD_INPUT_DOWN ) PlayerY += 3 ; // 下を押していたら下に進む
  if( Key & PAD_INPUT_RIGHT ) PlayerX += 3 ; // 右を押していたら右に進む
  if( Key & PAD_INPUT_LEFT ) PlayerX -= 3 ; // 左を押していたら左に進む

  // 落下処理
  PlayerY -= JumpPower ;

  // 落下加速度を加える
  JumpPower -= 1 ;

  // もし地面についていたら止まる
  if( PlayerY > 300 )
  {
   PlayerY = 300 ;
   JumpPower = 0 ;
  }

  // ジャンプボタンを押していて、地面についていたらジャンプ
  if( ( Key & PAD_INPUT_A ) && PlayerY == 300 ) JumpPower = 20 ;
 
  // 画面を初期化する
  ClearDrawScreen() ;

  // プレイヤーを描画する
  DrawGraph( PlayerX , PlayerY , PlayerGraph , TRUE ) ;

  // 裏画面の内容を表画面に反映させる
  ScreenFlip() ;
 }

 DxLib_End() ;    // DXライブラリ使用の終了処理

 return 0 ;     // ソフトの終了
}

800X400じゃなく800X600したいので研究中です。

 


*name

 csp 4   ;表示用文字スプライトを消去
 
 getparam $20  ;指定された文字列を取得
 len %0,$20  ;数字変数%0に文字列$0の長さを返す
 div %0,2  ;len命令で得られる文字数は半角文字数である為、全角分の2で割る
 
 if %0 = 0 vsp 5,0:print 1:return   ;文字数0の場合、以下文字数により処理
 if %0 = 1 lsph 4,":s/26,28,0;#FFFFFF$20",114,391
 if %0 = 2 lsph 4,":s/26,28,0;#FFFFFF$20",101,391
 if %0 = 3 lsph 4,":s/26,28,0;#FFFFFF$20",88,391
 if %0 = 4 lsph 4,":s/26,28,0;#FFFFFF$20",75,391
 if %0 = 5 lsph 4,":s/26,28,0;#FFFFFF$20",62,391
 if %0 = 6 lsph 4,":s/26,28,0;#FFFFFF$20",49,391
 
 ;スプライトを表示
 vsp 4,1
 vsp 5,1
 print 1
 

return
この文は、名前ウインドウの定義です。
次に名前ウインドウを表示させる。
*game_start
*newgame

lsph 0,":l/3,60,2;img\cursor0.bmp",0,0  ;クリック待ちカーソル
lsph 1,":l/3,60,2;img\cursor1.bmp",0,0  ;改ページ待ちカーソル
lsph 5,"img\name_window.bmp",20,383  ;名前表示用ウィンドウ

erasetextwindow 0

setwindow 64,448,28,5,22,22,2,10,20,0,1,"img\text_window.bmp",20,430
bg #888888,1
(ストーリーへ)
それから戦闘をいれて終了の時に
goto *s_se03

*wincl
       #000000
       textoff    ;攻撃コマンド出す命令
       textclear
戦闘の部分は、長いので略します。(実際は、bar命令を使いますので)
シリアスに戻すためにバーをメモリから消去<<いったん
その命令では、名前ウインドウも消えるので再構築!!
lsph 5,"img\name_window.bmp",20,383  
vsp 5,1                                
print 1
bg"BG\00han.jpg",1
name"??"←?一つだと表示がおかしくなるから
「まだ始まったばかりだし、これからね」 
ような感じで表示。戦闘に利用してます。
このEXEは、他の吉里吉里など違いメモ(シナリオ部分に命令を打てる方なので)
開発者の人がTHE GOD OF DEATHなどで活躍したシナリオライターさん。
しかしNs型EXEの製作ものも少ないので懐かしい。
これで作っているのは、nsの良さを知ってもらうためかな?
何より自分ってR18ゲームが好きだなと感じてしまう今日この頃。

<< 前のページ   |  HOME  |   次のページ >>
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
フリーエリア
最新コメント
[02/17 niki]
[01/11 NONAME]
[06/08 匿名希望]
[06/04 匿名希望]
最新トラックバック
プロフィール
HN:
流氷
性別:
男性
趣味:
イラストとゲーム
自己紹介:
この絵は、初CGのオリキャラ。
超探究者です。独学で調べてノートに残すほどで10冊以上。エクセルがデーターでいっぱい!


最近プレイ中 Perl&C+bat
深夜にDXライブラリ&CG勉強中<睡眠不足> 
Nsスクがワイド対応に伴い、研究中。    

はつドラ合同バナーキャンペーン開催中
はつドラ合同バナーキャンペーン開催中
はつドラ合同バナーキャンペーン開催中

『あかときっ!!-花と舞わせよ恋の衣装-』応援中!

♪最新作の前シリーズ
サガプラネッツ最新作「ナツユメナギサ」
「キサラギGOLD★STAR」応援CHU!!
★シリーズ最終章★2月24日発売
<予約開始が11月25日>
「はつゆきさくら」応援CHU!!


★10月発売予定の注目ソフト
ASa Project 『恋愛0キロメートル』 応援バナー企画
★11月発売予定の注目ソフト
『やや置き場がない!』を応援しています!
『彼女は高天(そら)に祈らない』応援中!
★12月発売予定の注目ソフト
輝光翼戦記 銀の刻のコロナ
ティンクル☆くるせいだーすPSS

バーコード
ブログ内検索
P R

Template by Emile*Emilie

忍者ブログ [PR]