幻想森林

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

[NS] [求助]卡战-怎么把指定了图片路径的文字变量安排到按钮?

[复制链接]

17

主题

179

帖子

2084

积分

⑥精研

积分
2084
发表于 2006-8-14 18:34:23 | 显示全部楼层 |阅读模式
我的思想是:定义纸牌数据随机生成(分属于三种属性且有5种面值,这个做成了),并且根据获得的属性将相应的图片地址给文字变数$101(似乎也成了),以后可以套用在图片显示命令里(这里出现了不能获得数据$101的提示)。

局部代码如下:
;mode800
*define
defsub setcard
;------------------------------------
;%0 btn专用变数
;%100-%120 纸牌用变数
;$100-$120 纸牌用文字变数
;
;%100随机生成卡片类型用变数
;%101记录生成的卡片类型的变数
;%102生成某类卡片的攻击力类型1~5
;%103卡片实际面值
;$100纸牌类型的文字变数
;$101变化的纸牌地址
game

*setcard
;生成属性与数值
rnd %100,9 ;给出0~10之间的随机数
if %100<=1 mov %101,3:mov $100,"health" ;20%的几率回复牌
if %100>=6 mov %101,1:mov $100,"physic" ;40%的几率物理牌
if %100<6 && %100>1 mov %101,2:mov $100,"magic" ;40%的几率魔法牌

if %101=1 rnd %102,4 ;物理属性攻击力大小类型0~4
if %101=2 rnd %102,4 ;魔法
if %101=3 rnd %102,4 ;回复

if %102=0 mov %103,10 ;纸牌实际面值
if %102=1 mov %103,20
if %102=2 mov %103,30
if %102=3 mov %103,40
if %102=4 mov %103,50
;赋予文字变量$101对应的图片地址
if %101=1 && %102=0 mov $101,"pic\phy10.jpg"(phy是单数半角字符,这是不可以的)
if %101=1 && %102=1 mov $101,"pic\phy20.jpg"
if %101=1 && %102=2 mov $101,"pic\phy30.jpg"
if %101=1 && %102=3 mov $101,"pic\phy40.jpg"
if %101=1 && %102=4 mov $101,"pic\phy50.jpg"

if %101=2 && %102=0 mov $101,"pic\ma10.jpg"
if %101=2 && %102=1 mov $101,"pic\ma20.jpg"
if %101=2 && %102=2 mov $101,"pic\ma30.jpg"
if %101=2 && %102=3 mov $101,"pic\ma40.jpg"
if %101=2 && %102=4 mov $101,"pic\ma50.jpg"

if %101=3 && %102=0 mov $101,"pic\heal10.jpg"
if %101=3 && %102=1 mov $101,"pic\heal20.jpg"
if %101=3 && %102=2 mov $101,"pic\heal30.jpg"
if %101=3 && %102=3 mov $101,"pic\heal40.jpg"
if %101=3 && %102=4 mov $101,"pic\heal50.jpg"
return


*start
setcard
文字变量一零一的值是$101。@
setcard
文字变量一零一的值是$101。@
setcard
文字变量一零一的值是$101。@
setcard
文字变量一零一的值是$101。@
setcard
文字变量一零一的值是$101。@
setcard
文字变量一零一的值是$101。@

;目前为止运行没问题,$101的值在运行时顺利地显示了


*cardtable

bg "pic\battle.jpg",10,500 ;铺桌面

setcard
btndef "$101"    ;将$101图片作为按钮读入

;---------------------上面这行有错误:无法开启档案$101




;---------------------下面的程序还没整理成型,不用在意= =

setcard
btn 1,35,415,100,150,35,415    ;第一张纸牌的位置
btndef "$101"
btn 2,140,415,100,150,140,415
setcard
btndef "$101"
btn 3,245,415,100,150,245,415
setcard
btndef "$101"
btn 4,350,415,100,150,350,415
setcard
btndef "$101"
btn 5,455,415,100,150,455,415
setcard
btndef "$101"
btn 6,560,415,100,150,560,415
setcard
btndef "$101"
btn 7,665,415,100,150,665,415

btnwait %0
if %0<=0 goto *cardlist
if %0==1 goto *card1
if %0==2 goto *card2
if %0==3 goto *card3
if %0==4 goto *card4
if %0==5 goto *card5
if %0==6 goto *card6
if %0==7 goto *card7

end

我对代码不熟,一边看论坛里的帖子一边做的。
莫非是btndef命令不能这样用吗? [s:6]
http://tiannamaker.blog.163.com 新换BLOG,勤快装修中
回复

使用道具 举报

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

发表于 2006-8-14 20:21:12 | 显示全部楼层
笑,很简单……
没显示句号是因为其他所有的图片名称长度都是偶数,而phy系列都是奇数。=v=
显示半角文字的时候常见的问题。
http://www.nvlmaker.net/
回复 支持 反对

使用道具 举报

17

主题

179

帖子

2084

积分

⑥精研

积分
2084
 楼主| 发表于 2006-8-14 20:35:45 | 显示全部楼层
我把phy改成phys.jpg越过了那个错误了,接下来是更严重的问题
具体请看编辑过的楼顶

虽然我把思路写在了纸上,但是到了编写的时候发现自己对于接下来如何具体按钮很茫然
尝试直接把牌面地址指定到按钮就遇到bug
难道要把所有的牌作为图放在桌面上然后再在上面放一层透明按钮?
[s:5]
http://tiannamaker.blog.163.com 新换BLOG,勤快装修中
回复 支持 反对

使用道具 举报

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

发表于 2006-8-14 22:01:52 | 显示全部楼层
你按钮的做法错了……OTL
BTNDEF是用来做整张的吧,那样所有的按钮都应该连在一起的。= =|||
应该是用lsp图片先显示然后定义按钮……
http://www.nvlmaker.net/
回复 支持 反对

使用道具 举报

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

发表于 2006-8-14 22:04:16 | 显示全部楼层
大概是这样:
setcard
lsp 1,$101,x,y
setcard
lsp 2,$101,x,y
....
btndef ""
spbtn 1,1
spbtn 2,2
....
http://www.nvlmaker.net/
回复 支持 反对

使用道具 举报

17

主题

179

帖子

2084

积分

⑥精研

积分
2084
 楼主| 发表于 2006-8-14 22:27:08 | 显示全部楼层
原来是用错了指令啊
我对指令不熟,基本是照猫画虎加上摸石头过河

谢谢大人的提示,明天继续向按钮部分前进
[s:2]
http://tiannamaker.blog.163.com 新换BLOG,勤快装修中
回复 支持 反对

使用道具 举报

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

发表于 2006-8-14 22:35:36 | 显示全部楼层
[s:5] 我错了……其实“LSP的混沌宇宙”这个LEVEL的教程已经开始写了……但是最近一直处于OTL状态所以就丢下了……
http://www.nvlmaker.net/
回复 支持 反对

使用道具 举报

17

主题

179

帖子

2084

积分

⑥精研

积分
2084
 楼主| 发表于 2006-8-14 23:27:05 | 显示全部楼层
我……我又rp了……

setcard
lsp 3,"pic\\cardback.jpg",245,415

上面这个可以显示图cardback

但是
setcard
lsp 1,"pic\\$101.jpg",35,415

这个就说打不开$101文件
http://tiannamaker.blog.163.com 新换BLOG,勤快装修中
回复 支持 反对

使用道具 举报

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

发表于 2006-8-14 23:45:48 | 显示全部楼层
不能这么写的……
要直接整个变量代入。

mov $102,"pic\\"
add $102,$101
add $102,".jpg"
lsp 1,$102,35,415

你也可以试试
lsp 1,("pic\\"+$101+".jpg"),35,415
但不保证可以用。
http://www.nvlmaker.net/
回复 支持 反对

使用道具 举报

17

主题

179

帖子

2084

积分

⑥精研

积分
2084
 楼主| 发表于 2006-8-15 00:43:27 | 显示全部楼层
后面那个好像是不行
用add命令让牌面显示了。

分别把类型和面值加上去,还可以节约掉中间判断$101的一大串if,这样如果以后牌面增加为更多种属性也方便。

顺便一提,大人您签名里的五分之庭的地址失效了……
[s:7]
http://tiannamaker.blog.163.com 新换BLOG,勤快装修中
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 05:17 , Processed in 0.024483 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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