» 您尚未 登录   注册 | 社区银行 | 社区婚姻 | 社区成就 | 帮助 | 社区 | 无图版


火花天龙剑 -> 火炎之纹章 -> 火花学园 -> 求助C++高手 (GBA火纹魔法动画相关)
 XML   RSS 2.0   WAP 

本页主题: 求助C++高手 (GBA火纹魔法动画相关) 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题
Lawliet

头衔:很zuo的男人很zuo的男人
该用户目前不在线
级别: 火花会员
编号: 93177
精华: 7
发帖: 1091
威望: 35 点
配偶: 单身
火 花 币: 21955 HHB
注册时间:2008-08-30
最后登陆:2012-09-29
艾雷布的骑士(I)
查看作者资料 发送短消息 引用回复这个帖子
求助C++高手 (GBA火纹魔法动画相关)

最近在研究GBA三作魔法动画的制作和导入导出,现在已经能够一定程度地实现原创魔法动画导入,但是对于游戏内本身的魔法动画构造却还是一头雾水。希望哪位高人能帮忙一起研究一下,小弟在此先谢过。


CSA :: SA
{
     frameData frameDataPointerTable[] = new frameData[0x100];

     byte processStream[] = new byte[]
     {
           25, 0, 0, 0,
           3, 0, 0, 0,
           (byte) AUTO_PATCH_ADDR,
           (byte) AUTO_PATCH_ADDR >> 8,
           (byte) AUTO_PATCH_ADDR >> 16,
           (byte) AUTO_PATCH_ADDR >> 24,
           0, 0, 0, 0,
           0, 0, 0, 0
     }

     CSA(int ID)
     {
           super();
           setProcessingPointer((processerStream *) processStream);
           setStreamPointer(ID); //Offset table of frame data pointers
     }

     setStreamPointer(int ID)
     {
           * (frameData **) 0x0203FFFC = frameDataTable[ID];
     }
}

CSA csaProcessor;

.org                        PCTable + (MAX_ID << 2)
.long                        csaProcessor
.long                        csaProcessor
...

.org                        AUTO_PATCH_ADDR
void processAnimation()
{
     int word1 = ** (int **) 0x0203FFFC;
     int word2 = * (int *) ((* (int *) 0x0203FFFC) + 4);
     int word3 = * (int *) ((* (int *) 0x0203FFFC) + 8);
     int word4 = * (int *) ((* (int *) 0x0203FFFC) + 12);
     int word5 = * (int *) ((* (int *) 0x0203FFFC) + 16);

     switch ((word1 >> 24) & 0xFF)
     {
           case 0x85:
                 switch (word1 & 0xFF)
                 {
                       case 0x48:
                             playSound((short) word1 >> 8);
                             break;
                       case 0x1A:
                       case 0x08:
                             enemy.setHitFlags(0x09);
                             if (enemy.getHealth() > enemy.getTargetHealth())
                                   enemy.setHealth(--enemy.getHealth());
                             break;
                       case 0x1F:
                             playHitSound();
                             break;
                       default:
                             if ((word1 & 0xFF) > 0x13)
                                   processCommand((byte) word1)
                             break;
                 }
                 (* (int *) 0x0203FFFC) += 4;
                 break;
           case 0x86:
                 if (--delay <= 0)
                 {
                       delay = (byte) word1;
                       drawSprites((sheet *) word2, (FE_OAM *) word3);
                       drawBG((sheet *) word4, (TSA *) word5);
                       (* (int *) 0x0203FFFC) += 20;
                 }
                 break;
           case 0x80:
                 terminateAnimation();
                 break;
     }
}

[楼 主] | Posted:2009-02-21 12:44| 顶端
zacai275

头衔:菲尔·卡蒂斯菲尔·卡蒂斯
该用户目前不在线
级别: 火花会员
编号: 87819
精华: 0
发帖: 600
威望: 0 点
配偶: 单身
火 花 币: 87 HHB
注册时间:2008-04-12
最后登陆:2020-12-13
查看作者资料 发送短消息 引用回复这个帖子


L又从哪里搞来的这段程式??


[1 楼] | Posted:2009-02-21 14:58| 顶端
eyee

头衔:EEEE
该用户目前不在线
级别: 禁止发言
编号: 32881
精华: 0
发帖: 1758
威望: 0 点
配偶: 单身
火 花 币: 25784 HHB
注册时间:2005-02-17
最后登陆:2018-11-02
查看作者资料 发送短消息 引用回复这个帖子


对图形编程完全没天分。。。
飘过。。


太阳最红
LOLI最伟大
[2 楼] | Posted:2009-02-21 19:08| 顶端
Lawliet

头衔:很zuo的男人很zuo的男人
该用户目前不在线
级别: 火花会员
编号: 93177
精华: 7
发帖: 1091
威望: 35 点
配偶: 单身
火 花 币: 21955 HHB
注册时间:2008-08-30
最后登陆:2012-09-29
艾雷布的骑士(I)
查看作者资料 发送短消息 引用回复这个帖子


没人帮忙吗? 好吧,先贴一下我最近的进展成果。新暗黑魔法,死亡黑洞!!!




















[3 楼] | Posted:2009-02-22 12:01| 顶端
zacai275

头衔:菲尔·卡蒂斯菲尔·卡蒂斯
该用户目前不在线
级别: 火花会员
编号: 87819
精华: 0
发帖: 600
威望: 0 点
配偶: 单身
火 花 币: 87 HHB
注册时间:2008-04-12
最后登陆:2020-12-13
查看作者资料 发送短消息 引用回复这个帖子


问题,自己也不懂C++..想帮也帮不了,,,还有那个能帮我做吗?


[4 楼] | Posted:2009-02-22 12:04| 顶端
tysxych



该用户目前不在线
级别: 火花会员
编号: 51383
精华: 0
发帖: 131
威望: 0 点
配偶: 单身
火 花 币: 24038 HHB
注册时间:2006-03-14
最后登陆:2018-07-08
查看作者资料 发送短消息 引用回复这个帖子


这个太厉害了,背景变成黑色是说可以修改背景图片了么?
[5 楼] | Posted:2009-02-22 13:53| 顶端
Lawliet

头衔:很zuo的男人很zuo的男人
该用户目前不在线
级别: 火花会员
编号: 93177
精华: 7
发帖: 1091
威望: 35 点
配偶: 单身
火 花 币: 21955 HHB
注册时间:2008-08-30
最后登陆:2012-09-29
艾雷布的骑士(I)
查看作者资料 发送短消息 引用回复这个帖子


这个魔法和魔王战斗动画的原理不同。

游戏中一些魔法会让背景变色,一般都是变暗,圣风能让背景变绿,某些光魔法能让画面暂时变亮。这是由于魔法由前景和实体两部分组成。实体最大128tiles, 而前景大小却是可以覆盖到整个画面,并且可以用指令不停地改变其透明度,甚至魔法的每一帧都可以有一个独立的前景。每个前景,每一帧实体都可以有自己独立的调色板。这点上比战斗动画灵活很多。

我用的是RGB色128,128,128作前景,降低透明度后,就变成全黑的了。

[6 楼] | Posted:2009-02-22 14:06| 顶端
zacai275

头衔:菲尔·卡蒂斯菲尔·卡蒂斯
该用户目前不在线
级别: 火花会员
编号: 87819
精华: 0
发帖: 600
威望: 0 点
配偶: 单身
火 花 币: 87 HHB
注册时间:2008-04-12
最后登陆:2020-12-13
查看作者资料 发送短消息 引用回复这个帖子


烈火里的神之风刃的动画是不起风,然后出现风刃的画面,有什么办法可以做到吗??圣器中的X风刃在发动有要先刮风的...


[7 楼] | Posted:2009-02-22 16:10| 顶端
Lawliet

头衔:很zuo的男人很zuo的男人
该用户目前不在线
级别: 火花会员
编号: 93177
精华: 7
发帖: 1091
威望: 35 点
配偶: 单身
火 花 币: 21955 HHB
注册时间:2008-08-30
最后登陆:2012-09-29
艾雷布的骑士(I)
查看作者资料 发送短消息 引用回复这个帖子


做到什么? 你到底是要起风还是不起风,是要烈火的还是圣魔的?
[8 楼] | Posted:2009-02-22 17:01| 顶端
zacai275

头衔:菲尔·卡蒂斯菲尔·卡蒂斯
该用户目前不在线
级别: 火花会员
编号: 87819
精华: 0
发帖: 600
威望: 0 点
配偶: 单身
火 花 币: 87 HHB
注册时间:2008-04-12
最后登陆:2020-12-13
查看作者资料 发送短消息 引用回复这个帖子


就是圣魔中的,,我想创建个神之风刃,,但用X风刃的动画的话,开始先会起风,然后在出现风刃..有没办法可以不起风,直接出现那个风刃??


[9 楼] | Posted:2009-02-22 17:49| 顶端
江枫月影

头衔:皇漢民族啓示录皇漢民族啓示录
该用户目前不在线
级别: 火花会员
编号: 24513
精华: 0
发帖: 318
威望: 0 点
配偶: 单身
火 花 币: 29714 HHB
注册时间:2004-09-24
最后登陆:2015-04-25
查看作者资料 发送短消息 引用回复这个帖子


非常佩服楼主的敬业精神.

我更喜欢原创的魔法动画. 不知道上图所帖的魔法,有没有相关的配声.

[10 楼] | Posted:2009-02-22 18:52| 顶端
Lawliet

头衔:很zuo的男人很zuo的男人
该用户目前不在线
级别: 火花会员
编号: 93177
精华: 7
发帖: 1091
威望: 35 点
配偶: 单身
火 花 币: 21955 HHB
注册时间:2008-08-30
最后登陆:2012-09-29
艾雷布的骑士(I)
查看作者资料 发送短消息 引用回复这个帖子


不但有特殊的音效,还有自己独立得BGM。当魔法发动后,音乐会切换成我选的某段剧情的音乐。
[11 楼] | Posted:2009-02-22 19:24| 顶端
江枫月影

头衔:皇漢民族啓示录皇漢民族啓示录
该用户目前不在线
级别: 火花会员
编号: 24513
精华: 0
发帖: 318
威望: 0 点
配偶: 单身
火 花 币: 29714 HHB
注册时间:2004-09-24
最后登陆:2015-04-25
查看作者资料 发送短消息 引用回复这个帖子


能不能把封印之剑中“默示之暗”全套动画移植入烈火。补全烈火八神器就不是梦想了。
[12 楼] | Posted:2009-02-22 19:34| 顶端
血手屠夫

该用户目前不在线
级别: 火花会员
编号: 95395
精华: 0
发帖: 295
威望: 0 点
配偶: 单身
火 花 币: 8435 HHB
注册时间:2008-12-09
最后登陆:2011-09-04
查看作者资料 发送短消息 引用回复这个帖子


补全八神将头像和名字 背景故事才是梦想啊
[13 楼] | Posted:2009-02-22 19:56| 顶端
Lawliet

头衔:很zuo的男人很zuo的男人
该用户目前不在线
级别: 火花会员
编号: 93177
精华: 7
发帖: 1091
威望: 35 点
配偶: 单身
火 花 币: 21955 HHB
注册时间:2008-08-30
最后登陆:2012-09-29
艾雷布的骑士(I)
查看作者资料 发送短消息 引用回复这个帖子


要是能导入默示之暗,我也不会在这求人帮忙了。游戏本身设计的魔法比我们原创的复杂得多,所以到现在还不知道默示之暗的具体构造是怎样的。。。

头像找美工
故事找同人
我只管技术

[14 楼] | Posted:2009-02-22 20:12| 顶端
zacai275

头衔:菲尔·卡蒂斯菲尔·卡蒂斯
该用户目前不在线
级别: 火花会员
编号: 87819
精华: 0
发帖: 600
威望: 0 点
配偶: 单身
火 花 币: 87 HHB
注册时间:2008-04-12
最后登陆:2020-12-13
查看作者资料 发送短消息 引用回复这个帖子


不过话说默示之暗的动画效果的确是所有暗书中最华丽的一个了..


[15 楼] | Posted:2009-02-22 20:59| 顶端
血手屠夫

该用户目前不在线
级别: 火花会员
编号: 95395
精华: 0
发帖: 295
威望: 0 点
配偶: 单身
火 花 币: 8435 HHB
注册时间:2008-12-09
最后登陆:2011-09-04
查看作者资料 发送短消息 引用回复这个帖子


烈火的暗A光A也很华丽的说
[16 楼] | Posted:2009-02-22 21:06| 顶端
zacai275

头衔:菲尔·卡蒂斯菲尔·卡蒂斯
该用户目前不在线
级别: 火花会员
编号: 87819
精华: 0
发帖: 600
威望: 0 点
配偶: 单身
火 花 币: 87 HHB
注册时间:2008-04-12
最后登陆:2020-12-13
查看作者资料 发送短消息 引用回复这个帖子


那个圣魔中也有,并不是烈火专有的,就是吸魂冷炎和光轮.....而且吸魂冷炎在GBA3作上都存在,只是光轮是从烈火才开始有的.


[17 楼] | Posted:2009-02-22 21:30| 顶端
江枫月影

头衔:皇漢民族啓示录皇漢民族啓示录
该用户目前不在线
级别: 火花会员
编号: 24513
精华: 0
发帖: 318
威望: 0 点
配偶: 单身
火 花 币: 29714 HHB
注册时间:2004-09-24
最后登陆:2015-04-25
查看作者资料 发送短消息 引用回复这个帖子


下面是引用Lawliet于2009-02-22 20:12发表的:
要是能导入默示之暗,我也不会在这求人帮忙了。游戏本身设计的魔法比我们原创的复杂得多,所以到现在还不知道默示之暗的具体构造是怎样的。。。

头像找美工
故事找同人
我只管技术



有空的话,楼主不如先介绍下,如何原创魔法动画. 本人对暗魔法情有独钟.

[18 楼] | Posted:2009-02-23 17:54| 顶端

火花天龙剑 -> 火花学园




Powered by PHPWind v3.0.1 Code © 2003-05 PHPWind
辽ICP备05016763号
Gzip enabled

You can contact us