Project1
标题:
200分吧,如何自制一个飞入窗口?
[打印本页]
作者:
玄月
时间:
2008-9-14 01:58
标题:
200分吧,如何自制一个飞入窗口?
黑剑那种~~~
魔兽式窗口脚本死开~~~ [LINE]1,#dddddd[/LINE]
版务信息:本贴由楼主自主结贴~
作者:
黑鏻
时间:
2008-9-14 02:09
用自制的图片菜单~~
作者:
玄月
时间:
2008-9-14 03:11
~~~~~等于没说
作者:
黑鏻
时间:
2008-9-14 03:17
以下引用
玄月于2008-9-13 19:11:30
的发言:
~~~~~等于没说
至少还说了~~
直接去下载黑暗圣剑传说 解密试玩版
http://rpg.blue/web/htm/down19.htm
把里面挖过来不就行吗?
作者:
havealook
时间:
2008-9-14 03:24
这个录象中不提到了?
而且就是拿黑暗圣剑传说的菜单作为的例子~~
http://rpg.blue/web/htm/news129.htm
作者:
lhbadsl
时间:
2008-9-14 03:34
我倒下了。。。魔兽菜单是最好的。。。。。。。基本不用美工,还是你介绍给我用的。。{/tp}路过,顺便帮你顶下。。。。
作者:
忧伤的小猫
时间:
2008-9-14 03:57
举一个例子给你 其他的楼主可以举一反三
在Scene Menu里 把
# 生成游戏时间窗口
@playtime_window = Window_PlayTime.new
@playtime_window.x = 0
@playtime_window.y = 224
改成
# 生成游戏时间窗口
@playtime_window = Window_PlayTime.new
@playtime_window.x = -100
@playtime_window.y = 224
然后在释放后面加上
def window_fly
if @playtime_window.x < 0
@playtime_window.x += 20
end
end
然后在刷新update
里添加一个
window_fly
就可以了
作者:
玄月
时间:
2008-9-14 07:39
出错
作者:
lhbadsl
时间:
2008-9-14 07:47
其实这个东西非常简单。。。。就是菜单场景刷新时动态改变坐标,脚本原理几乎和魔兽式菜单没有任何的区别,在我给你的那个魔兽式菜单修改版中有这些句子。。。。。
for i in 1 .. $speed
@command_window.x += 160 / $speed
@playtime_window.x -= 480 / $speed
@steps_window.x -= 480 / $speed
@gold_window.x -= 480 / $speed
@status_window.x -= 480 / $speed
Graphics.update
end
复制代码
这个就是用for循环动态刷新窗口的x坐标,其中Graphics.update这句是在菜单场景中直接用Graphics刷新的办法让窗口随x坐标的动态改变显示出来。。。。好好研究一下魔兽是菜单就会做这个所谓“飞入”效果了。。。。不过不是像魔兽式菜单那样修改窗口坐标,而是动态修改图片精灵块的坐标并用Graphics.update,@spriteset.update把动态修改的坐标在实质的显示中表现出来,其中的@spriteset为你想要“飞入”的图片的精灵载体,可以用@spriteset = Sprite_Picture.new(@viewport2,@picture)在菜单场景的main方法最先几行那里定义,@picture为你想要“飞入”的图片。。。具体用法可以参考rm的Sprite_Picture类说明书。。。{/hx}.也可以参照我给你的那个工程里的写法。。。。比如:在某一菜单场景的main方法里面(就是主处理)这样写。。。
class Scene_Menu
def main
@picture = "..."(这个很难讲清楚。。。就是图片类,不要写个名字上去就以为可以了,具体定义可以参照rm图片类的说明书)
@window= Window_Base.new(随便乱写的,具体可以参照代码)
@spriteset = Sprite_Picture.new(@viewport2,@picture)
下面两句是为了给图片和一个初始值,让它在开始时看不见
@picture.x = 某一常数
@window.x= 某一常数
.....
# 执行过渡
Graphics.transition
for i in 1 .. 20
@picture.x += 10
@window.x += 10
@spriteset.update
Graphics.update
end
# 主循环
loop do
# 刷新游戏画面
Graphics.update
# 刷新输入信息
Input.update
# 刷新画面
update
# 如果切换画面就中断循环
if $scene != self
break
end
end
......(上面是“飞入”,下面就要“飞出”了,具体写法请参照魔兽菜单工程)
end
end
复制代码
其中@window为“装载”这个图片的窗口,上面这个写法,图片精灵和窗体都是分开的。。只不过看起来好像是装着的。。。。
[LINE]1,#dddddd[/LINE]
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1