标题: 怎样在对话框上面加button呢?(已解决)
unhappykiller
会员
Rank: 1



UID 1252
精华 0
积分 76
帖子 24
阅读权限 5
注册 2008-8-20
 
发表于 2009-1-8 13:28  资料  短消息  加为好友 
一下这样写吗?可是对话框画面闪个不停

;=========================对话框=========================


@macro name=talk

@image layer=18 page=fore storage="talk1" visible=true left=2 top=450 opacity=100

@move layer=18 time=150 path="(2,400,100)"
[wm]

@move layer=18 time=200 path="(2,405,225)"
[wait time=60]


[position layer=massage0 left=80 top=435 width=670 height=100 marginl=0 margint=0 marginr=0 marginb=0

opacity=0 visible=true]

[locate x=297 y=620]

[button graphic="op5"  ]

[locate x=297 y=700]

[talk]

[layopt layer=message0 visible=true page=froe index=190001]
[current page=fore layer=message0]

@endmacro




但是如果加了[s]也就全部都停了,对话也没有了.....=_=||||||

或者我上面是不是那个顺序出错了!??泪.....

不过见到水螅亲的回复很感动.......>_<;

最终效果如下
点击在新窗口查看全图

[ 本帖最后由 unhappykiller 于 2009-1-8 13:33 编辑 ]





纹舞百棺
顶部
sarah707
亲友
Rank: 2


UID 15
精华 3
积分 825
帖子 366
阅读权限 50
注册 2006-12-20
 
发表于 2009-1-8 13:47  资料  短消息  加为好友 
你在talk的macro里调用了自身…………






KX3游戏制作组
顶部
unhappykiller
会员
Rank: 1



UID 1252
精华 0
积分 76
帖子 24
阅读权限 5
注册 2008-8-20
 
发表于 2009-1-8 17:05  资料  短消息  加为好友 


QUOTE:
原帖由 sarah707 于 2009-1-8 13:47 发表
你在talk的macro里调用了自身…………

啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊!!!!!!

一言惊醒梦中人....我傻了.........





纹舞百棺
顶部
unhappykiller
会员
Rank: 1



UID 1252
精华 0
积分 76
帖子 24
阅读权限 5
注册 2008-8-20
 
发表于 2009-1-8 17:11  资料  短消息  加为好友 


QUOTE:
原帖由 sarah707 于 2009-1-8 13:47 发表
你在talk的macro里调用了自身…………

;=========================对话框=========================


@macro name=talk

@image layer=18 page=fore storage="talk1" visible=true left=2 top=450 opacity=100

@move layer=18 time=150 path="(2,400,100)"
[wm]

@move layer=18 time=200 path="(2,405,225)"
[wait time=60]


[position layer=massage0 left=80 top=435 width=670 height=100 marginl=0 margint=0 marginr=0 marginb=0

opacity=0 visible=true]


[layopt layer=message0 visible=true page=froe index=190001]
[current page=fore layer=message0]

;=============下面这三行去掉就什么都正常了,但是怎样加button呢?================

[locate x=290 y=550]
[button graphic="op3" target=*config]
[locate x=500 y=530]

@endmacro


这样子的话,按钮不显示、而文字也没有按照我设定的locate位置显示,文字显示没有了第一横.....泪.....>_<。

[ 本帖最后由 unhappykiller 于 2009-1-8 17:13 编辑 ]





纹舞百棺
顶部
sarah707
亲友
Rank: 2


UID 15
精华 3
积分 825
帖子 366
阅读权限 50
注册 2006-12-20
 
发表于 2009-1-8 18:52  资料  短消息  加为好友 
其实我不理解为什么你的message0只有670*100你却要locate到550的y……那不就什么都显示不出来了么……






KX3游戏制作组
顶部
unhappykiller
会员
Rank: 1



UID 1252
精华 0
积分 76
帖子 24
阅读权限 5
注册 2008-8-20
 
发表于 2009-1-9 05:02  资料  短消息  加为好友 


QUOTE:
原帖由 sarah707 于 2009-1-8 18:52 发表
其实我不理解为什么你的message0只有670*100你却要locate到550的y……那不就什么都显示不出来了么……

啊啊啊啊啊!!原来那个locate在这里是定义是在message框内的数值啊?
我还以为他定义画面里的位置,然后在message范围内才显示的意思呢。。。
哪么他的定义和pimage差不多罗???都是在某个东西上写数值?



然后............................大成功!!!!!

点击在新窗口查看全图

超级感谢你啊!!!嗯嗯...抱一个!!!

然后.........................问题出现了,一切都很正常,但是做完改做的东西之后,,,既然“return”不了!!!?到底怎样才能retrun呢!!???



;===========================大成功的添加按钮对话框=========================


@macro name=talk

@image layer=18 page=fore storage="talk1" visible=true left=2 top=450 opacity=100

@move layer=18 time=150 path="(2,400,100)"
[wm]

@move layer=18 time=200 path="(2,405,225)"
[wait time=60]


[position layer=massage0 left=80 top=435 width=670 height=120 marginl=0 margint=0 marginr=0 marginb=0

opacity=0 visible=true]


[layopt layer=message0 visible=true page=froe index=190001]
[current page=fore layer=message0]



[locate x=450 y=5]

[button graphic="tb1" ]

[locate x=500 y=5]

[button graphic="tb2" call target=*talkload storage=first.ks ]


[locate x=550 y=5]

[button graphic="tb3" ]

[locate x=600 y=5]

[button graphic="tb4" ]


[locate x=0 y=0]

@endmacro



;=================不能return,在first上的load===========================


*talkload

[position layer=message1 page=back ]
[er]
[trans method=crossfade time=100] [wt]

@image layer=19 page=fore storage="loading" visible=true left=90 top=80 opacity=000 index=200000
@move layer=19 time=100 path="(90,60,100)"
[wm]
@move layer=19 time=150 path="(90,50,225)"
[wait time=60]


;存档1
[locate x=140 y=66]
[button normal=&(kag.getBookMarkFileNameAtNum(0)) cond="kag.bookMarkDates[0] != void"]
[button normal="nodata" cond="kag.bookMarkDates[0] == void"]

[locate x=280 y=66]
[link target=*loaddata1 cond="kag.bookMarkDates[0] != void"][emb exp="kag.bookMarkDates[0]"

cond="kag.bookMarkDates[0] != void"][emb exp="'-------------------'" cond="kag.bookMarkDates[0] ==

void"][endlink cond="kag.bookMarkDates[0] != void"]


;存档2
[locate x=140 y=226]
[button normal=&(kag.getBookMarkFileNameAtNum(1)) cond="kag.bookMarkDates[1] != void"]
[button normal="nodata" cond="kag.bookMarkDates[1] == void"]

[locate x=280 y=226]
[link target=*loaddata2 cond="kag.bookMarkDates[1] != void"][emb exp="kag.bookMarkDates[1]"

cond="kag.bookMarkDates[1] != void"][emb exp="'-------------------'" cond="kag.bookMarkDates[1] ==

void"][endlink cond="kag.bookMarkDates[1] != void"]


;存档3
[locate x=140 y=377]
[button normal=&(kag.getBookMarkFileNameAtNum(2)) cond="kag.bookMarkDates[2] != void"]
[button normal="nodata" cond="kag.bookMarkDates[2] == void"]

[locate x=280 y=377]
[link target=*loaddata3 cond="kag.bookMarkDates[2] != void"][emb exp="kag.bookMarkDates[2]"

cond="kag.bookMarkDates[2] != void"][emb exp="'-------------------'" cond="kag.bookMarkDates[2] ==

void"][endlink cond="kag.bookMarkDates[2] != void"]

;退出
[locate x=500 y=455]
[button graphic="op5" target=*talkdload]

[s]


*loaddata1
[load place=0 ask=false]
*loaddata2
[load place=1 ask=false]
*loaddata3
[load place=2 ask=false]

*talkdload


@freeimage layer=base page=back
@freeimage layer=19 page=back

[position layer=message1 page=back ]
[er]
[trans method=crossfade time=100] [wt]
[return]




;=====================================

以上能很正常进行读取工作,但若退出就不能return了!!!!!!
怎么使用return呢?????我也觉得怪怪的,这样不就return回对话框而不是对话中??而且。。。。。好乱啊,,,水螅亲是如何处理的??>_<。




PS:按钮遇到“对话翻页”的情况,就会消失不见(如下图),然后下一段对话又会出现?这是怎么回事呢??苦恼,..
不过这个问题不是很严重...如果解决不了也算了,可以写文章的时候不要过场就好...
点击在新窗口查看全图

[ 本帖最后由 unhappykiller 于 2009-1-9 05:23 编辑 ]





纹舞百棺
顶部
全局变量D
亲友
Rank: 2



UID 14
精华 1
积分 1262
帖子 719
阅读权限 50
注册 2006-12-20
 
发表于 2009-1-9 09:43  资料  短消息  加为好友 
http://kcddp.keyfc.net/bbs/viewthread.php?tid=367
不管是sysbutton还是button本身都是不提供call功能的,所以得用exp属性...

[ 本帖最后由 全局变量D 于 2009-1-9 09:48 编辑 ]





顶部
unhappykiller
会员
Rank: 1



UID 1252
精华 0
积分 76
帖子 24
阅读权限 5
注册 2008-8-20
 
发表于 2009-1-9 12:59  资料  短消息  加为好友 


QUOTE:
原帖由 全局变量D 于 2009-1-9 09:43 发表
http://kcddp.keyfc.net/bbs/viewthread.php?tid=367
不管是sysbutton还是button本身都是不提供call功能的,所以得用exp属性...

啊!!!我点击去看了,,,实在是十分困难啊!!对于我这个新手来说完全理解不能....

但是我想想不知道还有没有其他的办法呢?然后我想到一个很蠢的办法不知可不可行呢?

那就是:

原本我的游戏只有3个存档项目的,然后我暗地里其实添加一个第四存档,

然后每次别人按对话框的Save/Load的button的时候,系统默认会存储一次(在第四个储存位置)然后玩家处理完SL之后他按“返回”button的时候,那个所谓“返回”button命令就是读取第四个存档,,,这样不不就可以做出一个“伪return”吗????

希望水螅亲可以给我一点建议啊。因为水螅写的教程都比较适合新手,,,我对kr了解真的很少,,全局大人的方法应该适合比较行内人吧?...泪>=<。

不过谢谢全局亲...OTZ鞠躬....

[ 本帖最后由 unhappykiller 于 2009-1-9 13:00 编辑 ]





纹舞百棺
顶部
sarah707
亲友
Rank: 2


UID 15
精华 3
积分 825
帖子 366
阅读权限 50
注册 2006-12-20
 
发表于 2009-1-9 13:15  资料  短消息  加为好友 
那个……如果是一直显示在对话框上的按钮的话绝对建议使用systembutton……(我之前一直没注意你这个按钮是用来做系统按钮的……)
另外D 的说明我觉得还是挺清楚的,建议再看一看吧……






KX3游戏制作组
顶部
全局变量D
亲友
Rank: 2



UID 14
精华 1
积分 1262
帖子 719
阅读权限 50
注册 2006-12-20
 
发表于 2009-1-9 15:46  资料  短消息  加为好友 
不用sysbutton,要用一般按钮也成,

直接[button exp="kag.callExtraConductor('save.ks', '*start')"]

这里是呼叫存档界面,文件名是save.ks,标签是start,改成你要连过去的脚本就行了就行了.





顶部
 



清除 Cookies - 联系我们 - [Key Fans Club] the Council of Doujin-game Development and Promotion - Archiver - WAP
Powered by Discuz! 5.5.0 © 2001-2006 Comsenz Inc.
Processed in 0.026632 second(s), 10 queries , Gzip enabled
粤ICP备05060595号
[ 当前模板 - 天高云淡 v 设计制作 - 七星论坛 v 请使用1024*768或以上分辨率浏览本模板 ]
请勿删除或修改此处版权图示