标题: [已解决:8楼]请问如何以tjs实现layopt的功能?
wildgun
会员
Rank: 1



UID 1383
精华 0
积分 61
帖子 18
阅读权限 5
注册 2008-10-3
 
发表于 2008-10-4 01:39  资料  短消息  加为好友 
[已解决:8楼]请问如何以tjs实现layopt的功能?

预期要求:对一个图层同时进行缩放、位移、改变透明度的操作。(其实是想模仿《Fate/Stay Night》的日期标题切换效果。)


本来想以for循环内嵌套layopt来实现。但KAG本没有for命令,需以jump来实现,但因为这个功能是要放在一个宏里的,所以无法使用jump跳转到标签。于是只能用tjs来执行循环。

于是,请问如何以tjs实现layopt的功能?

[ 本帖最后由 wildgun 于 2008-10-5 21:48 编辑 ]

顶部
全局变量D
亲友
Rank: 2



UID 14
精华 1
积分 1262
帖子 719
阅读权限 50
注册 2006-12-20
 
发表于 2008-10-4 19:15  资料  短消息  加为好友 
可以直接用action指令吧...
另外TJS实现KAG功能的话可以用
kag.tagHandlers.指令名(%["参数名1"=>参数1,"参数名2"=>参数2]);
来写...





顶部
wildgun
会员
Rank: 1



UID 1383
精华 0
积分 61
帖子 18
阅读权限 5
注册 2008-10-3
 
发表于 2008-10-4 21:06  资料  短消息  加为好友 
action指令我初步查了一下,貌似一条语句就是一个动作,没有这3个动作同时执行的语句……

顶部
wildgun
会员
Rank: 1



UID 1383
精华 0
积分 61
帖子 18
阅读权限 5
注册 2008-10-3
 
发表于 2008-10-5 03:49  资料  短消息  加为好友 
继续提问:
1、tjs里如何实现[layopt layer=0 reset] 这样的语句功能?
因为若是将layopt放在fox循环内执行,那么layopt的zoomx、zoomy属性的缩放效果不是针对原图的,而是针对上一次循环变化后的图……所以每次循环内一定要实现一次如KAG中“[layopt layer=0 reset]”语句的效果。

2、tjs里如何实现[wait time=300]这样的语句功能?
貌似tjs无法等待,但又因为tjs计算速度过快,所以图层在一瞬间就渐变完了,无法显示出渐变的效果……


最后说一下,我想要实现的效果其实在NS里是这么写的:

for %14=0 to 45                                ;实现日期变更,日期图片大小为44*46
        lsp2 32,$7,44/2,46/2-%14/2,100,(46-%14)*100/46,0,255-5*%14
        lsp2 38,$13,44/2,46-%14/2,100,%14*100/46,0,5*%14
        print 1
        wait 20
next

顶部
kider
会员
Rank: 1



UID 461
精华 0
积分 65
帖子 29
阅读权限 5
注册 2007-10-1
 
发表于 2008-10-5 11:33  资料  短消息  加为好友 
楼主明显没认真看action的说明。

QUOTE:
◇层动作的注意事项:

・属于同一组的动态效果模式是互斥的,在一个层上只能同时有一个效果生效。
不属于同组的动态效果模式可以叠加在同一层。(译注:例如可以一边放大画面一边摇晃画面……)

请仔细看看第二条。
确实一条语句只能执行一个动作,但你可以写三条语句对同一层操作啊。
[action layer=* module=LayerNormalMoveModule x=*** y=*** time=***]
[action layer=* module=LayerNormalZoomModule zoom=** time=****]
[action layer=* module=LayerFadeToModeModule opacity=*** time=****]
把*换成你想要的数字。另外,三条语句的time要保持一致,否则动作不会同时完成。

[ 本帖最后由 kider 于 2008-10-5 11:44 编辑 ]

顶部
wildgun
会员
Rank: 1



UID 1383
精华 0
积分 61
帖子 18
阅读权限 5
注册 2008-10-3
 
发表于 2008-10-5 15:36  资料  短消息  加为好友 
请问怎么用action来实现一张图片从纵向缩放0%渐变到纵向缩放100%,横向不变?

LayerNormalZoomModule只能纵横同时缩放;

LayerHRotateZoomModule命令,虽然可以实现单方向的缩放,但根据我试验和理解,图片一开始只能从100%往小里渐变,然后再可以渐渐反方向扩大;但无法先从一开始由一个较小的比例放大。

顶部
kider
会员
Rank: 1



UID 461
精华 0
积分 65
帖子 29
阅读权限 5
注册 2007-10-1
 
发表于 2008-10-5 15:52  资料  短消息  加为好友 
原来楼主想要的是非原比例缩放。在技术发布区有一个帖子内容是对zoomrot进行了加强,可以实现楼主的功能。如果找不到就用论坛搜索试试。

顶部
wildgun
会员
Rank: 1



UID 1383
精华 0
积分 61
帖子 18
阅读权限 5
注册 2008-10-3
 
发表于 2008-10-5 21:46  资料  短消息  加为好友 
感谢7楼的提示,最后用以下语句的以解决:

[zr layer=4 storage=&("bgimage/datetitle/"+mp.olddate) sw=1 sh=1 dw=1 dh=0 cx=0 cy=0 sx=106 sy=19 dx=106 dy=19 sp=255 dp=0]
[zr layer=6 storage=&("bgimage/datetitle/"+mp.newdate) sw=1 sh=0 dw=1 dh=2 cx=0 cy=0 sx=106 sy=62 dx=106 dy=19 sp=0 dp=255]
[wallzr]

不过好友一点没明白,为啥结果是原图比例的100%,但第二句中的dh要等于2才行?

顶部
 



清除 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.023375 second(s), 9 queries , Gzip enabled
粤ICP备05060595号
[ 当前模板 - 天高云淡 v 设计制作 - 七星论坛 v 请使用1024*768或以上分辨率浏览本模板 ]
请勿删除或修改此处版权图示