幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3883|回复: 14

[NS] [求助]遊戲存檔時的畫面+部分問題

[复制链接]

1

主题

6

帖子

68

积分

②入门

积分
68
发表于 2006-8-29 21:45:39 | 显示全部楼层 |阅读模式
各位好...在下因為剛開始接觸ns這軟體...在看過精華區以及"伪圣书"的遊戲以後...對裡面的一些地方還是有點不了解

希望各位前輩可以讓在下問幾個問題@@

首先...在下先從最基本的開始
使用了"rmenu "儲存",save,"讀取",load,"回想",lookback,"结束",reset"這個指令
然後弄出還以後是這個樣子

ttp://home.pchome.com.tw/movie/mild134/XD/002.JPG

我知道關於存檔的畫面已經有人問過了...只是在下對這個地方還是不太了解....OTZ
因為想知道如何做出有版面的存檔畫面,所以去看了遊戲範例"伪圣书"
可是看到尾還是不知道在哪邊是關於這部分的程式碼
只大概推想出...
首先要先建立一個儲存檔案的畫面,就是save.jpg
然後在對於裡面的各個按鈕製作"未選取時" "選取時"這2張的按鈕圖片
在來用btn語法...然後對準save.jpg裡面的按鈕座標這個樣子?
只是腦中只大概想出這樣子...詳細的還是不知道...[s:8]
所以想知道...如果要有存檔的版面的話
腦中需要的構想是什麼?以及實際上會用到的指令

希望有大大可以指導小弟一下...OTZ

然後是btn語法...
想問一下
btn 按钮编号,按钮范围左上角x坐标,y坐标,宽,高,悬停图像截取左上角x坐标,y坐标
什麼是"按钮范围左上角x坐标以及y坐标"阿?

雖然問題還有很多,不過小弟想要慢慢了解
希望以後還有前輩可以指導一下小弟~~
回复

使用道具 举报

48

主题

215

帖子

2437

积分

⑥精研

提倡爱与正义

积分
2437
发表于 2006-8-29 22:35:09 | 显示全部楼层
你好,我也是刚学NS不久啦。最近也在研究这个自制存取画面的问题,不过在D大人和各位幻森的网友们的帮助下,我算理清了些思路,不知道对你有没有帮助,我也只是半桶水啦,高级些的思路还有待D大人和网友们来帮助。

首先你上传那图我看不到,不知道你想要什么效果。
自制存档版面的方法也就像你说的要准备存档的背景图啦。然后用lsp载入。之后你可以用图片做按钮也可以用变量做按钮。用btndef载入高亮层和用spbtn把载入的图片或文字变量做按钮都行。变量一般用来制作存储信息的。

设置好存取画面的按钮后,就是怎么在对话中存储了:
用textgosub命令啦。不是rmenu。textgosub就是在每一次显示对话文字后都会执行的一个事件,用这个事件就能做出点击右键进入自制的存取菜单或点击系统按钮进入自制存取菜单。
就像 textgosub *save
然后用类似于按钮一样设置等待
像 textbtnwait %0
if %0=-1 gosub *save01   点 右键进入菜单
if %0=0 return  点左键继续对话
然后把你做好的存储事件放进*save01后就行啦。
这样就能做出一个存储画面版式啦。存游戏后要用return返回就能继续回游戏对话啦。

不知道我说的这些你明白了吗?我表达不行,所以~~~~~你也许看不懂。不过我也只是半桶水啦,还请D大人们来指点你吧。基本上我就这么做了。
  像风一样寻找方向
回复 支持 反对

使用道具 举报

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

发表于 2006-8-29 22:38:57 | 显示全部楼层
图片看不到呢……
btn语法的话。这么说吧,需要用BTNDEF定义一张按钮的图片(可以是很多张按钮放在同一张里)。
然后BTN的作用就是从这张图上截取一块作为单独按钮使用,所以需要划定某个按钮在这张图片上的具体范围,也要规定这按钮在游戏画面上出现的位置。
这个其实实验一下就知道了……满简单的。
伪圣书的TITLE就用了这个功能的说……

存储的话……我记得文档里有详细注释啊,搞懂NS的基本指令的话应该都看得懂了。
按钮显示要更灵活的话还是用LSP图片显示指令比较好……

具体的最好翻下旧帖。
http://bbs.rpgchina.com/read.php?tid=18207&fpage=3
这边有套更简单点的代码。
http://www.nvlmaker.net/
回复 支持 反对

使用道具 举报

1

主题

6

帖子

68

积分

②入门

积分
68
 楼主| 发表于 2006-8-29 23:26:08 | 显示全部楼层
引用第1楼无限眼2006-08-29 22:35发表的“”:
你好,我也是刚学NS不久啦。最近也在研究这个自制存取画面的问题,不过在D大人和各位幻森的网友们的帮助下,我算理清了些思路,不知道对你有没有帮助,我也只是半桶水啦,高级些的思路还有待D大人和网友们来帮助。

首先你上传那图我看不到,不知道你想要什么效果。
自制存档版面的方法也就像你说的要准备存档的背景图啦。然后用lsp载入。之后你可以用图片做按钮也可以用变量做按钮。用btndef载入高亮层和用spbtn把载入的图片或文字变量做按钮都行。变量一般用来制作存储信息的。

.......

圖片我已經改了...
在網址列裡面自己加上h來連結不知道看不看的到@@?

lsp的用法部分小弟也不是很了解呢,我在看中文的解釋是這樣寫的

lsp 图片编号,"{:透明方式}{/划分动画格数,}{动画间隔时间毫秒数,}{动画播放模式}{;}图片路径",左上角x坐标,y坐标,透明度

只是小弟不知道她的{}是什麼意思?
因為好多個連在一起,所以不知道是什麼意思

那製作存檔背景的部分是用"lsp"而遊戲裡面是用"bg"嗎

存檔是用"textgosub"阿
所以textgosub *save就市直接飛越到 *save 這個標籤裡面
然後再另外在這個標籤裡面在等上指令這樣子囉?
>>if %0=-1 gosub *save01
我想要知道 "%0=-1 gosub "這邊是什麼意思?
是指如果當save01(第一個存檔位置)被點下去時,變數為-1然後並且存檔嗎?
那這樣子她是要如何來判別你是已經點下去了?
講到變數這邊是不是要用mov來定義一個數字便量值呢?
像"伪圣书"裡面寫到

*start
;☆初始化
if lchk *firstset goto *logo
*firstset
mov %200,100
mov %201,100
mov %202,100
mov %203,1
mov %204,1
mov %205,1
mov %206,30
mov $201,"btn\\num0.jpg"
mov $202,"btn\\num0.jpg"

我想要知道mov %200,100要如何解釋...otz
是指一個200數字變量然後...然後就不知道是什麼意思了...

對不起....好像扯遠了...我不知道我這樣子是指令說明沒看好還是不知該如何弄在一起...讓大大辛苦了

所以...基本上只要
textbtnwait %0
if %0=-1 gosub *save01
這樣她就會進到存檔畫面
然後在對*save這個標籤作設定嗎?
if %0=0 return
這邊則是回去遊戲畫面

目前還有很多東西沒有融合在一起...讓大大費心來講解了...謝謝
因為現在面臨要準備大考...所以看到您的回覆應該已經很晚了

感謝您對小弟的指導

引用第2楼CountD2006-08-29 22:38发表的“”:
图片看不到呢……
btn语法的话。这么说吧,需要用BTNDEF定义一张按钮的图片(可以是很多张按钮放在同一张里)。
然后BTN的作用就是从这张图上截取一块作为单独按钮使用,所以需要划定某个按钮在这张图片上的具体范围,也要规定这按钮在游戏画面上出现的位置。
这个其实实验一下就知道了……满简单的。
伪圣书的TITLE就用了这个功能的说……
.......

圖片我已經改了...
在網址列裡面自己加上h來連結不知道看不看的到@@?

-------------

造著您的範例看果然比較清楚了

所以說...是先用BTNDEF這指令把剛開始的開頭畫面先預載下來
然後再分別定義裡面所用到的圖片分別為"開始" " 讀檔"  "離開"
然後在用btn指令來決定按鈕的顯示畫面來和BTNDEF預載的圖從疊起來
btn 編號1
btn 編號2
btn 編號3

那像前被您寫的

*title0wait
btnwait2 %0
if %0<=0 goto *title0wait
if %0==1 goto *newgame
if %0==2 goto *load0
if %0==3 goto *endgame0

我想知道*title0wait這一區是做什麼的和"btnwait2 %0"這段是什麼意思呢?
接下來的...我想大概是
當數字變量不等於任何數時聽留在標題畫面不動
當變量數字等於btn 1 的時候...則跳到*newgame執行遊戲
當變量數字等於btn 2 的時候...則跳到*load0讀取之前的檔案
當變量數字等於btn 3 的時候...則跳到*endgame0來結束遊戲
大概就是這樣

所以...那是不是關於標題的部分只要照這個樣子就可以弄出來了嗎?
然後存檔和讀檔的指令在另外打?

看了您跟"无限眼"殿下都說用lsp比較好呢...
不知道是不是只有針對按鈕的部分
如果是畫面上的人物顯示的話就是用ld了嗎?(因為我是用這個...|||

不知道是我沒弄熟指令的關西還是對於裡面所用到的邏輯不知道才會造成這樣的問題...
因為現在小弟面臨著大考,因為要準備大考...所以看到您的回覆應該已經很晚了

感謝D大對於在下的指導

回复 支持 反对

使用道具 举报

1

主题

51

帖子

563

积分

⑤进阶

积分
563
发表于 2006-8-30 21:10:41 | 显示全部楼层
想顺便问一下怎样在存档里用指定字体显示系统时间= =
目前只学会了用btn做开头的系统菜单= =汗……
回复 支持 反对

使用道具 举报

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

发表于 2006-8-30 23:04:48 | 显示全部楼层
别费力了我教育网是看不到国际网图片的……

{}是可加可不加的参数。真正需要的只有路径而已,当然设定按钮的悬停效果另说。

btnwait2 %0

"执行到这里的时候等待玩家点选。
*title0wait
btnwait2 %0
if %0<=0 goto *title0wait
if %0==1 goto *newgame
if %0==2 goto *load0
if %0==3 goto *endgame0

根据玩家的点选跳转到不同的功能区。
-1代表鼠标右键,0代表左键点在非按钮区域,1-3分别是已经定义的按钮。
也就是说在btnwait2 %0这里,当玩家点下鼠标时,将玩家的动作记录到变量%0里头。
再根据玩家动作,跳到不同的标签。

所以...那是不是關於標題的部分只要照這個樣子就可以弄出來了嗎?
然後存檔和讀檔的指令在另外打?
就是跳转到的地方那里写存储画面的部分。

画面上人物显示用LD就行。

------------------------------------------------
系统时间应该也是用date和time指令读取当前系统时间,然后用LSP指令显示出来。
http://www.nvlmaker.net/
回复 支持 反对

使用道具 举报

1

主题

6

帖子

68

积分

②入门

积分
68
 楼主| 发表于 2006-8-31 23:47:21 | 显示全部楼层
原來一開始就已經定義好是什麼意思了...
之前還在想btnwait2 %0裡面的2是什麼意思呢...(汗
標題畫面的確可以了呢...
感謝D大的指導--

接下來就是從讀取開始著手了
看了一下"伪圣书"的範例以後...發現其實讀取事件都到跑到同一個標籤裡面
之後看到了

;★讀取用公共事件
*loadsub
btndef ""
csp -1
lsph 49,":c;bgd\\load.jpg",0,0
vsp 49,1

lsp 9,$201,82,108
lsp 10,$202,82,159
lsp 11,$203,82,212
lsp 12,$204,82,265
lsp 13,$205,82,316

lsp 14,$206,82,368
lsp 15,$207,82,420
lsp 16,$208,82,473
lsp 17,$209,482,108
lsp 18,$210,482,159

lsp 19,$211,482,212
lsp 20,$212,482,265
lsp 21,$213,482,316
lsp 22,$214,482,368
lsp 23,$215,482,420
lsp 24,$216,483,473

lsp 8,$217,253,555

卻不知道這裡面LSP是在替哪邊的文字在做編號...OTZ|||
希望D大可以幫小弟解答一下...
回复 支持 反对

使用道具 举报

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

发表于 2006-9-1 12:09:58 | 显示全部楼层
记录并当前章节图片...就是存档按钮左边那个小小的圆里显示的数字.
没有存档的时候那地方显示一张透明图片.
http://www.nvlmaker.net/
回复 支持 反对

使用道具 举报

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

发表于 2006-9-1 12:13:07 | 显示全部楼层
btnwait2和btnwait的区别在于btnwait2会记录按钮的定义,即使玩家输入后按钮定义也依然保留,这样在输入无效(比如%0=0)的时候,再返回等待可以不用重新定义按钮.
http://www.nvlmaker.net/
回复 支持 反对

使用道具 举报

1

主题

6

帖子

68

积分

②入门

积分
68
 楼主| 发表于 2006-9-2 01:01:19 | 显示全部楼层
引用第7楼CountD2006-09-01 12:09发表的“”:
记录并当前章节图片...就是存档按钮左边那个小小的圆里显示的数字.
没有存档的时候那地方显示一张透明图片.

原來是左邊數字的圖阿...
那為什麼lsp沒有1~8呢@@?
是不需要造順序嗎?

那...我想要知道"lsp 9,$201,82,108"
這一行的時候是要開啟什麼檔案呢@@?

接下來小弟比較想要知道lsp 9後面的"$201,82,108"分別是代表什麼意思阿?
再下對照NS表看不出來那邊是指哪些東西...OTZ|||
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2025-5-11 21:11 , Processed in 0.014200 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表