まず、レーザーというのは、Angleと幅と長さと座標で成り立っています、そこでこんな感じに実装してみたんですが。
for(int l=0;l<LAZER_MAX;l++){
if(lazer[l].flag==1){
DrawModiGraph(lazer[l].x+cos(lazer[l].Angle+DX_PI)*lazer[l].haba/2, //x1
lazer[l].y+sin(lazer[l].Angle+DX_PI)*lazer[l].haba/2,//y1
lazer[l].x+cos(lazer[l].Angle-DX_PI)*lazer[l].haba/2,//x2
lazer[l].y+sin(lazer[l].Angle-DX_PI)*lazer[l].haba/2,//y2
lazer[l].x+(cos(lazer[l].Angle)*lazer[l].nagasa)+(cos(lazer[l].Angle+DX_PI)*lazer[l].haba/2),//x3
lazer[l].y+(sin(lazer[l].Angle)*lazer[l].nagasa)+(sin(lazer[l].Angle+DX_PI)*lazer[l].haba/2),//y3
lazer[l].x+(cos(lazer[l].Angle)*lazer[l].nagasa)+(cos(lazer[l].Angle-DX_PI)*lazer[l].haba/2),//x4
lazer[l].y+(sin(lazer[l].Angle)*lazer[l].nagasa)+(sin(lazer[l].Angle-DX_PI)*lazer[l].haba/2),//y4
imgrs[17],true);
}
}
デバッグで、ブレークポイントなどで、通っているかは試してみたんですが、どうやらちゃんとLazerのfragは1になっているようです。
ちなみにレーザーを出している部分のコードがこちらです