主题:  新加下载

D计划-混沌

职务:管理员
等级:6
金币:15.2
发贴:3528
#12001/2/11 19:27:39
on startmovie
--可自在SPRITE上的定义为一小长条(不要太大,长宽比>5)对应membernum,省略statmovie
erase member 1
myvector=new(#vectorshape)
member(1).vertexlist=myvector.list
addvertex(member 1,1,point(-12,2))
addvertex(member 1,2,point(12,2))
addvertex(member 1,3,point(12,-2))
addvertex(member 1,4,point(-12,-2))
member(1).closed=1
member(1).fillmode=#gradient
member(1).fillcolor=rgb(255,0,0)
member(1).endcolor=rgb(255,255,255)
end
on fire spritenum,membernum,circlesteps,OUTSTEPS,CENGS
--circlesteps:组成一封闭园图案的粒子数
--OUTSTEPS:第一层向外扩张到第二层出现的步数
--CENGS:扩张的层数
sprite(spritenum).trails=1
IF VOIDP(OUTSTEPS) THEN
SET OUTSTEPS=15
END IF
IF VOIDP(membernum) THEN
SET membernum=1
END IF
IF VOIDP(CENGS) THEN
SET CENGS=3
END IF
IF VOIDP(circlesteps) THEN
SET circlesteps=36
END IF
GLOBAL J,randomration,CENG
if voidp(J) then
set j=1
end if
if voidp(randomration) then
set randomration=1
end if
if voidp(CENG) then
set CENG=1
end if
SET OUTV=300/(OUTSTEPS*CENGS)
SET OUTH=400/(OUTSTEPS*CENGS)
set the stagecolor to the stagecolor
IF J IF J SET J=J+1
repeat WITH X=1 TO circlesteps*CENG
set colorred=random(255)
set colorblue=random(255)
set coloryellow=random(255)
member(1).fillcolor=rgb(colorred,colorblue,coloryellow)
sprite(spritenum).member=membernum
set curRadian = (PI*2/(circlesteps))*x
sprite(spritenum).rotation=randomration*X
sprite(spritenum).locv=300+(j-OUTSTEPS*INTEGER((X-1)/circlesteps))*sin(curRadian)*OUTV
sprite(spritenum).loch=400+(J-OUTSTEPS*INTEGER((X-1)/circlesteps))*cos(curRadian)*OUTH
UPDATESTAGE
end repeat
ELSE
if CENG set CENG=CENG+1
end if
END IF
ELSE
GLOBAL J,randomration,CENG
set j=1
set CENG=1
Set randomration=random(90)
end if
end fire
ON EXITFRAME
FIRE 1
END
--某些变量未按规范,可能冲突
--用SPRITE(X)代替SPRITE(SPRITENUM)可避免闪烁,可惜不大够用
--请各位帮我检查程序的错误
--有什么办法只用一个SPRITE但不闪烁,不甚感激

页面:点这儿参观