song_5007 发表于 2015-6-15 12:45:25

一个简易的弹幕脚本系统

http://pan.baidu.com/s/157xLG

用的引擎是libtcc
能够使用

这样的脚本生成

这样的弹幕

只实现了极坐标(对,,,,,逻辑比起上次还没增加一丝一毫。。)

除此之外还有什么需要的功能请大家给我点意见。。。

我最近得去研究buffer object去了。。

drzzm32 发表于 2015-6-15 14:13:43

我那个是参数方程呢。。。
目前来看应该可以读取脚本。。。
但是依然蛋疼啊(((

song_5007 发表于 2015-6-15 19:02:56

本帖最后由 song_5007 于 2015-7-16 11:00 编辑



#include "danmu.h"
#include "math.h"
void* danmu=NULL;

void create(void* lp)
{
danmu=lp;
static long timeProc = 200;
static num=0;
if (getPassed() - timeProc >=1800)
{
timeProc = getPassed();

for(int i=0;i<6;i++)
{
XMFLOAT2 pos={184,125};
polar *p=(polar*)(getLpMem(init(lp,pos,1,1)));
if(p)
{
p->o=XM_2PI/6*i + num*XM_2PI/16.0f;

}

}
num++;
}
}

int safechk(XMFLOAT2 pos)
{
if (pos.x>468 || pos.x<-100 || pos.y>440 || pos.y<-40)
return 1;
return 0;
}

void secCre(XMFLOAT2 pos)
{
for(int i=0;i<16;i++)
{
polar *p=(polar*)(getLpMem(init(danmu,pos,1,2)));
if(p)
{
p->o=XM_2PI/16*i;

}
}
}

int proc(void* lp,int catalogue)
{
XMFLOAT2 *pos=getLpPos(lp);
XMFLOAT2 *centre = getLpCentre(lp);

if(catalogue==1)
{
polar *p=(polar*)(getLpMem(lp));
p->r+=1.0f;
XMFLOAT2 tp={p->r*cos(p->o),p->r*sin(p->o)};
*pos=*centre;
pos->x+=tp.x;
pos->y+=tp.y;

if(getMyPassed(lp)>2000)
{
secCre(*pos);
return -1;
}


}else
{
polar *p=(polar*)(getLpMem(lp));

if(getMyPassed(lp)>2600)
{
return -1;
}else
if(getMyPassed(lp)>1000)
{
p->rv+=0.1f;
p->r += p->rv;
}else
if(getMyPassed(lp)>500)
{
p->r+=0.1f;
}else
{
p->r+=1.0f;
}
XMFLOAT2 tp={p->r*cos(p->o),p->r*sin(p->o)};
*pos=*centre;
pos->x+=tp.x;
pos->y+=tp.y;
}

return 0;
}

好吧我是变态 发表于 2015-6-15 22:22:18

.void。 发表于 2015-6-15 23:29:22

虽然学过编程。。。还从来没试过编弹幕、搞下来学习一发

Delta67 发表于 2015-6-16 02:29:00

libtcc看起来有点厉害

song_5007 发表于 2015-7-1 23:43:47

7.1更新了一下 分离了逻辑与渲染
优化了GPU的访问
现在2-3w弹幕应该没问题了。
最近考试大约不会再有更新{:16_452:}

Sonicthedgehog 发表于 2015-7-2 00:30:53

HinanaiTenshi 发表于 2015-7-3 08:37:36

虽然感觉很简易的。。。但是我依然还是看不懂= =

song_5007 发表于 2015-7-16 01:31:27

{:16_440:}0.9版本出炉了,这次可是重大更新,可以实现所有(非激光)弹幕了哟!
更新日志等放假补,就先这样了。
下一次估计就是最后的更新了,我会同时附上一份使用文档。
假设再有更新的话,估计已经是我正式开始写stg的时候了。
页: [1] 2
查看完整版本: 一个简易的弹幕脚本系统