返回列表 发帖
其实我也是小白~~~~~(大汗``````)
废话少说,再问~~~~~

先是药丸问题
默认的SKIN支持显示5个药丸,代码如下:
                        <part2 FrameCount="1">
                                <Frame0 u="1" v="52" w="28" h="28"  x="200"        y="3" orgy="min(0,BufferCount-1)*-99999" ImageName="main.png" />
                        </part2>                       
                        <part2 FrameCount="1">
                                <Frame0 u="1" v="52" w="28" h="28"  x="200"        y="34" orgy="min(0,BufferCount-2)*-99999" ImageName="main.png" />
                        </part2>                       
                        <part2 FrameCount="1">
                                <Frame0 u="1" v="52" w="28" h="28"  x="200"        y="65" orgy="min(0,BufferCount-3)*-99999" ImageName="main.png" />
                        </part2>                       
                        <part2 FrameCount="1">
                                <Frame0 u="1" v="52" w="28" h="28"  x="200"        y="96" orgy="min(0,BufferCount-4)*-99999" ImageName="main.png" />
                        </part2>                       
                        <part2 FrameCount="1">
                                <Frame0 u="1" v="52" w="28" h="28"  x="200"        y="127" orgy="min(0,BufferCount-5)*-99999" ImageName="main.png" />

现在我想再加入3个,于是在后面加入

                        <part2 FrameCount="1">
                                <Frame0 u="1" v="52" w="28" h="28"  x="200"        y="158" orgy="min(0,BufferCount-6)*-99999" ImageName="main.png" />
                        </part2>                       
                        <part2 FrameCount="1">
                                <Frame0 u="1" v="52" w="28" h="28"  x="200"        y="189" orgy="min(0,BufferCount-7)*-99999" ImageName="main.png" />
                        </part2>                       
                        <part2 FrameCount="1">
                                <Frame0 u="1" v="52" w="28" h="28"  x="200"        y="220" orgy="min(0,BufferCount-8)*-99999" ImageName="main.png" />

但并没有如我所望出现第6~8个药丸,是模拟器不支持还是SKIN其他地方还要修改?


现在是动画问题
如果动画这样写:
                        <part0 FrameCount="10000" FrameSpeed="2">
                                <Frame0 u="0" v="0" w="200" h="200" x="200" y="260" ImageName="1.png" />
                                <Frame0 u="0" v="0" w="200" h="200" x="200" y="260" ImageName="2l.png" />
                                <Frame0 u="0" v="0" w="200" h="200" x="200" y="260" ImageName="3.png" />
                                <Frame0 u="0" v="0" w="200" h="200" x="200" y="260" ImageName="4.png" />
                        </part0>
的确可以让动画“只出现一次”
但如果加入x="if(div(CurCombo,30)200,-1000)"这句后就没用了,因为在combo达到30时动画早就“结束”了~~~~
加入了KeyFraming="true"这句也毫无改变``````

如果这样写:
                        <part0 FrameCount="4" FrameSpeed="2"KeyFraming="true">
                                <Frame0 u="0" v="0" w="200" h="200" x="if(div(CurCombo,30)200,-1000)"
y="260" ImageName="1.png" />
                                <Frame0 u="0" v="0" w="200" h="200" x="if(div(CurCombo,30)200,-1000)"
y="260" ImageName="2l.png" />
                                <Frame0 u="0" v="0" w="200" h="200" x="if(div(CurCombo,30)200,-1000)"
y="260" ImageName="3.png" />
                                <Frame0 u="0" v="0" w="200" h="200" x="if(div(CurCombo,30)200,-1000)"
y="260" ImageName="4.png" />
                        </part0>

动画只出现第一帧,第二,三,四帧都是隐藏(也可能是透明)的,如此反复~~~
加了keyframeid="0"或keyframeid="1"也毫无效果~~~~

我现在想要的效果是在达到特定的条件后(比如特定的时间,血条,combo)。后面的代码才生效~~~~

最后轮到ID的问题~~~~
startid                maxcount                               desc        
0                1                        panel
1                1                judgement fail(MISS)
2                1                judgement bad
3                1                judgement good
4                1                judgement cool
5                1                judgement kool
6                1                lifebar
7                1                trackbar
8                1                checkbar
9                1                combo text
10                1                bg
50                50                keydown
100                50                note
150                50                longnote
200                50                channelactive
250                50                flare cool
300                50                flare kool
350                50                longflare1
400                10                combo number
410                10                score number
460                10                max combo number

比如面板是这样写的
0                1                        panel
现在我看那个0不爽
我改为
11                1                        panel
并把原SKIN里面对应面板的都ID改为11~~~~
请问是否可行?

说了这麽多,还有一个很重要的问题,就是指令问题~~~~(我想应该还有很多人对指令也不太懂)
像上面的div指令;TimePassed指令; keyframeid指令;CurCombo指令等等。我相信有很多人对它都是一知半解,都只知道简单的使用,根本就不知道它所代表的意思。也不知道到底有多少条指令,什么样的指令`````````
当然,也包括我在内(瀑布汗~~~~)

请问是否有这方面的资料呢?

哈哈,也祝你新年快乐~~~

TOP

我汗~~~~
我的回答是。。明天。。。别急。。。
我现在在网吧。。不好回答。。。
有的地方我也不是太明白。。。
明。。明。。明天。。。 。。。也许是后天。。。。给你个完整答复。。。

指令方面。。。没有这方面的资料。。。都是自己实验出来的。。

[ 本帖最后由 Fzxhienng 于 2007-1-1 14:15 编辑 ]

TOP

ID回复

首先。。正确的面板项中第一行应该是这样的。。
<Panel PartCount="12" FixedPos="true" ID="0">
FixedPos是什么意思。。我也忘了。。晕。。
面板就只能是ID="0"  不能改。。。
模拟器工作时是找ID 0.。。找到这个0它就知道这是面板了。。
你改了会错误。。

另外。。还有按Alt+F9出现的皮肤设置中的ID。。。

首先皮肤最上端定义下列语句
<Styles>
    <StyleSet stylesetID="1" name="面板">
    <Style styleID="0" name="5K" />
    <Style styleID="1" name="7K" />
</Styles>

那么你配置皮肤时就会出现面板选项.。。。点面板选项后就会出现子选顶5K和7K

那么就在你的5K面板中加入  stylesetID="1" styleID="0"

<Panel PartCount="12" FixedPos="true" ID="0" stylesetID="1" styleID="0">

7K加入stylesetID="1" styleID="1"

<Panel PartCount="12" FixedPos="true" ID="0" stylesetID="1" styleID="1">

这样就实现了按Alt+F9后切换面板的功能。。。

stylesetID="***" styleID="***" 这两种ID中的***是随意数字。。。

这里的PartCount="12" 中的12是我自己瞎写的。。。你应该知道吧。。。

[ 本帖最后由 Fzxhienng 于 2007-1-1 14:40 编辑 ]

TOP

stylesetID="***" styleID="***"这个我知道
简单来说就相当于快捷方式~~~~

TOP

有没有注意到combode动画呢?
<Part0 FrameCount="31" FrameSpeed="40" KeyFraming="true" Draw_SrcBlend="true">
    <Frame0 u="1" v="100" w="49" h="40" y="146" x="130" orgy="35" orgx="30" ImageName="combo.png"
     keyframeid="0" />
    <Frame0 u="1" v="100" w="49" h="40" y="136" x="130" orgy="35" orgx="30" ImageName="combo.png"
     keyframeid="5" />
    <Frame0 u="1" v="100" w="49" h="40" y="136" x="130" orgy="35" orgx="30" ImageName="combo.png"
     keyframeid="30" />
   </Part0>

它就类似我要的效果:在特定条件下(这里是达成连击)出现,并且只出现一次
类似的还有cool,good,bad的动画
问题是代码写法和普通的差不多,郁闷ing~~~~

还有一就是虽然不能为单一的帧指定速度,但可以通过调整图片的显示帧数来达到同样的效果。
看上面:动画一共有31帧,keyframeid="0"表示在0帧显示;keyframeid="5"表示在1~5帧显示; keyframeid="30"表示在6~30帧显示

TOP

这个不懂,飘过帮你顶下~

TOP

完全看不懂` `。

TOP

不是没有注意到。。。是目前还没有找到解决方法。。。我晕。。
最近几天病了。。。痛苦。。。
。。。这个。。。。你想比如到COMBO 1000时显示一个特殊效果什么的吧。。。
晕。。可惜只能那样显示一个图片或一个循环式的动画。。。

。。。研究中。。。探索中。。。

TOP

小回答以下15楼的问题

首先什么东西的ID是多少是不能更改的,SKIN里面的那一段只不过是说明作用,删掉也无所谓,真正的定义在程序内部
SKIN里面凡是用带 感叹号 标签包起来的部分都是不读取仅作说明用的。

还有就是你说的指令,其实要分开对待
代码大概有三种
一种是定义某项值用的,比如,ImageName="*"后面带等号和引号,等于你想程序说明一个东西的值
一种是计算用的,比如 div,if,mod,sin 它们可以用在引号里面,使你的向程序表达的值能更有变化
还有一种是程序变量,比如 TimePassed,CurNoteY,CurLife 这些变量用在引号里面,其实是相当于一个数值,只不过是程序给你的内部数值,会随着程序运行而变化。
变量表现的值会有各种格式。比如CueLife的值就是0-1的一个分数(其实就是HP有百分之多少),TimePassed也是(时间进行了百分之多少),CurNoteY系列则是表示NOTE的Y方向位置。
使用一个变量只要知道它表现出来的数值类型,基本就没什么问题了,究竟有多少种变量,这是程序的设置了。基本上我所知道的变量,都是从老大的官方SKIN里面看到的,从使用方法来看,就可以知道这个变量是什么类型了。
变量还有一个特性,是全局变量,或区域变量。全局的变量在任何位置都可以引用,区域的则需要特定条件。比如CurDig就是在一个范围内才能使用。

TOP

基本上没有变量了。。。现在知道的在内存中都能查到。。。

比如说。。做BMS时。。1.3版就可以设置显示的难度,,有 简单 普通 困难和其它。。。。。图片不可显示。。因为这模拟器根本就不读取。。晕

TOP

原帖由 Fzxhienng 于 2007-1-12 08:32 发表
不是没有注意到。。。是目前还没有找到解决方法。。。我晕。。
最近几天病了。。。痛苦。。。
。。。这个。。。。你想比如到COMBO 1000时显示一个特殊效果什么的吧。。。
晕。。可惜只能那样显示一个图片或一 ...


Fzxhienng老兄啊,我还以为你人间蒸发了呢~~~~
对,就是在特定的条件下显示特殊的效果,不然做出来的动画对歌曲的“兼容性”不高啊~~~~

不知道如果把动画的代码插入到COMBO的代码下面能否达到这个效果呢?(没时间测试,痛苦中~~~~~~~~)

TOP

。。。插入到COMBO下的结果就是每连击一下动画会从头播放一次~。。
所以是不可以的~
没办法现在的皮肤有的效果是做不出来的。。。哎~

TOP

原帖由 L.C 于 2006-12-23 19:02 发表

对了,如果有足够的素材和耐性应该也可以做出DJMAX那种所谓的动画吧?
老实说那些从严格上来说根本不算是 ...



你说错了,动画是FLASH的原理,但他的引擎比FLASH好多了!

TOP

正好相反,比Flash的差远啦,它能做到的Flash都能做到

TOP

原帖由 Fzxhienng 于 2007-1-16 08:23 发表
。。。插入到COMBO下的结果就是每连击一下动画会从头播放一次~。。
所以是不可以的~
没办法现在的皮肤有的效果是做不出来的。。。哎~


我知道,但如果加入x="if(div(CurCombo,30)200,-1000)"这句呢?
又会怎样?

没时间测试~~~不好意思~~~~

TOP

返回列表