幻想森林

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

[NS] [原创][分享]翻了日文网站上的NS制作高速动画的教程.

[复制链接]

6

主题

26

帖子

1111

积分

⑥精研

积分
1111
发表于 2005-8-31 00:16:16 | 显示全部楼层 |阅读模式
高速动画
作为电子小说画面效果的一种,可以使之呈现动画效果。
(比如往下打剑,水滴落下掉下)
这样高速的动画片需要sprite进行,稍稍有些难。
对与Nscripter,blt是使高速动画片实现的命令文。
※请点击下面的链接下载anime2.jpg放置在image文件夹内。

*define
clickstr "」。!?",2
game
*start
アニメーションを行います。(进行动画)
btndef "image\anime2.jpg"
for %1=0 to 450 step 150
    for %0=0 to 400 step 200
    blt 0,0,640,480,%0,%1,200,150
    wait 10
        next
next
ofscpy
bg #ff0000,1
真っ赤に切り裂かれました。
end
使用了for循环命令,因为不能使用超越了40行的循环…。
所以这里用了双重for循环,它的使用比较复杂,不过,请努力试着理解。
为了第二次的for循环的段偏离只是仅仅易懂。
for~next是BASIC结构的循环指令
for %变量 = 变量初始值 to 变量最大值 step 步进值
上面的%1 = 0 to 450 step 150
意思是将%1这个变量初始化为空值,然后循环下面的语句3次(450 / 150 = 3),每次%1的值增加150
C式是for (int i = 0 ; i += 150 ; i < 450) {循环语句}
每一个循环都逐层缩进(TAB符号)是为了使代码的结构易于理解

以上.动画效果呈现.
指定使用按钮画像作为高速动画片缓冲
「btndef」指定动画使用的图像。
「btndef」是为了读入画像的命令。
其次,「blt」表示读入了的画像。
关于「blt」后面的8个数值在这里说明下吧。
最初的四个「0,0,640,480」数值分别表示在游戏画面的「左上端的X坐标」「左上端的Y坐标」「画面的宽度」「画面的纵幅度」。
最后的四个「%0,%1,200,150」分别表示读入了的图像文件的「 左上端的X坐标」「左上端的Y坐标」「画像的宽度」「画像的纵幅度」。
象上面的例子一样在640×480画面里表示200×150画像的话回被自动性扩大画像以适合画面的尺寸。
前边所学的果然很重要。
如果用「blt」指定了动画请必定使用「ofscpy」命令.
之后再用「bg」等命令叫出普通的画像。
不做这个命令的话,会令画面出现不稳定的状态.那样也会变成出错误的原因。
回复

使用道具 举报

125

主题

288

帖子

1387

积分

⑥精研

积分
1387
发表于 2005-8-31 07:45:16 | 显示全部楼层
for~next是BASIC结构的循环指令
for %变量 = 变量初始值 to 变量最大值 step 步进值
上面的%1 = 0 to 450 step 150
意思是将%1这个变量初始化为空值,然后循环下面的语句3次(450 / 150 = 3),每次%1的值增加150
C式是for (int i = 0 ; i += 150 ; i < 450) {循环语句}
每一个循环都逐层缩进(TAB符号)是为了使代码的结构易于理解
回复 支持 反对

使用道具 举报

6

主题

26

帖子

1111

积分

⑥精研

积分
1111
 楼主| 发表于 2005-8-31 13:27:30 | 显示全部楼层
多谢楼上对for循环的解释 让我明白了许多
虽然我以前也学过VB。。。。但是几乎没听过几节课 = =|||||
[em04]
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 18:25 , Processed in 0.018589 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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