//======================================================================= // ■ 画像へのパス 構成が違う場合は要変更 //----------------------------------------------------------------------- let imgmarker = GetCurrentScriptDirectory() ~ "/img/Marker.png"; //======================================================================= //----------------------------------------------------------------------- // ■ エネミーマーカー [th11] ph3 //----------------------------------------------------------------------- task EnemyMarker01(Enemy) { let marker = ObjPrim_Create(OBJ_PRIMITIVE_2D); let m_wait = 20; let alpha = 255; let MinX = GetStgFrameLeft(); let MinY = GetStgFrameTop(); let WidX = GetStgFrameWidth(); let WidY = GetStgFrameHeight(); ObjRender_SetX(marker,ObjMove_GetX(Enemy)); ObjRender_SetY(marker,MinY+WidY+8); ObjPrim_SetTexture(marker,imgmarker); ObjRender_SetBlendType(marker,BLEND_ALPHA); Obj_SetRenderPriorityI(marker,90); ObjPrim_SetPrimitiveType(marker,PRIMITIVE_TRIANGLESTRIP); ObjRender_SetScaleXYZ(marker,1.00,1.00,1.00); ObjPrim_SetVertexCount(marker,4); ObjPrim_SetVertexPosition(marker,0,-24,-8,0); ObjPrim_SetVertexPosition(marker,1,-24, 8,0); ObjPrim_SetVertexPosition(marker,2, 24,-8,0); ObjPrim_SetVertexPosition(marker,3, 24, 8,0); ObjPrim_SetVertexUVT(marker,0, 0, 0); ObjPrim_SetVertexUVT(marker,1, 0,16); ObjPrim_SetVertexUVT(marker,2, 48, 0); ObjPrim_SetVertexUVT(marker,3, 48,16); ObjPrim_SetVertexColor(marker,0,255,255,255); ObjPrim_SetVertexColor(marker,1,255,255,255); ObjPrim_SetVertexColor(marker,2,255,255,255); ObjPrim_SetVertexColor(marker,3,255,255,255); while(ObjEnemy_GetInfo(Enemy,INFO_LIFE)>MARKER_FLICKER_LIFE) { alpha = 144+absolute(ObjMove_GetX(Enemy)-GetPlayerX)*2; ObjRender_SetX(marker,ObjMove_GetX(Enemy)+MinX); if(ObjMove_GetX(Enemy)<0 || ObjMove_GetX(Enemy)>WidX) { ObjRender_SetX(marker,-100); } ObjPrim_SetVertexAlpha(marker,0,alpha); ObjPrim_SetVertexAlpha(marker,1,alpha); ObjPrim_SetVertexAlpha(marker,2,alpha); ObjPrim_SetVertexAlpha(marker,3,alpha); ObjPrim_SetVertexColor(marker,0,255,255,255); ObjPrim_SetVertexColor(marker,1,255,255,255); ObjPrim_SetVertexColor(marker,2,255,255,255); ObjPrim_SetVertexColor(marker,3,255,255,255); yield; } loop { m_wait = 3+17*(ObjEnemy_GetInfo(Enemy,INFO_LIFE)/MARKER_FLICKER_LIFE); loop(m_wait) { alpha = 144+absolute(ObjMove_GetX(Enemy)-GetPlayerX)*2; ObjRender_SetX(marker,ObjMove_GetX(Enemy)+MinX); if(ObjMove_GetX(Enemy)<0 || ObjMove_GetX(Enemy)>WidX) { ObjRender_SetX(marker,-100); } ObjPrim_SetVertexAlpha(marker,0,alpha); ObjPrim_SetVertexAlpha(marker,1,alpha); ObjPrim_SetVertexAlpha(marker,2,alpha); ObjPrim_SetVertexAlpha(marker,3,alpha); ObjPrim_SetVertexColor(marker,0,255,255,255); ObjPrim_SetVertexColor(marker,1,255,255,255); ObjPrim_SetVertexColor(marker,2,255,255,255); ObjPrim_SetVertexColor(marker,3,255,255,255); yield; } ObjRender_SetX(marker,ObjMove_GetX(Enemy)+MinX); if(ObjMove_GetX(Enemy)<0 || ObjMove_GetX(Enemy)>WidX) { ObjRender_SetX(marker,-100); } alpha = 144+absolute(ObjMove_GetX(Enemy)-GetPlayerX)*2; ObjPrim_SetVertexAlpha(marker,0,alpha); ObjPrim_SetVertexAlpha(marker,1,alpha); ObjPrim_SetVertexAlpha(marker,2,alpha); ObjPrim_SetVertexAlpha(marker,3,alpha); ObjPrim_SetVertexColor(marker,0,0,0,0); ObjPrim_SetVertexColor(marker,1,0,0,0); ObjPrim_SetVertexColor(marker,2,0,0,0); ObjPrim_SetVertexColor(marker,3,0,0,0); yield; } } //----------------------------------------------------------------------- // ■ エネミーマーカー [th11] v0.12m //----------------------------------------------------------------------- task EnemyMarker01 { let marker = Obj_Create(OBJ_EFFECT); let m_wait = 20; let alpha = 255; LoadGraphic(imgmarker); Obj_SetX(marker,GetEnemyX); Obj_SetY(marker,GetClipMaxY+8); ObjEffect_SetTexture(marker,imgmarker); ObjEffect_SetPrimitiveType(marker,PRIMITIVE_TRIANGLESTRIP); ObjEffect_SetScale(marker,1.00,1.00); ObjEffect_SetLayer(marker,8); ObjEffect_CreateVertex(marker,4); ObjEffect_SetVertexXY(marker,0,-24,-8); ObjEffect_SetVertexXY(marker,1,-24, 8); ObjEffect_SetVertexXY(marker,2, 24,-8); ObjEffect_SetVertexXY(marker,3, 24, 8); ObjEffect_SetVertexUV(marker,0, 0, 0); ObjEffect_SetVertexUV(marker,1, 0,16); ObjEffect_SetVertexUV(marker,2, 48, 0); ObjEffect_SetVertexUV(marker,3, 48,16); while(GetLife>MARKER_FLICKER_LIFE) { Obj_SetX(marker,GetEnemyX); if(GetEnemyX<32 || GetEnemyX>416) { Obj_SetX(marker,-100); } alpha = 144+absolute(GetEnemyX-GetPlayerX)*2; ObjEffect_SetVertexColor(marker,0,alpha,255,255,255); ObjEffect_SetVertexColor(marker,1,alpha,255,255,255); ObjEffect_SetVertexColor(marker,2,alpha,255,255,255); ObjEffect_SetVertexColor(marker,3,alpha,255,255,255); yield; } loop { m_wait = 3+17*(GetLife/MARKER_FLICKER_LIFE); loop(m_wait) { Obj_SetX(marker,GetEnemyX); if(GetEnemyX<32 || GetEnemyX>416) { Obj_SetX(marker,-100); } alpha = 144+absolute(GetEnemyX-GetPlayerX)*2; ObjEffect_SetVertexColor(marker,0,alpha,255,255,255); ObjEffect_SetVertexColor(marker,1,alpha,255,255,255); ObjEffect_SetVertexColor(marker,2,alpha,255,255,255); ObjEffect_SetVertexColor(marker,3,alpha,255,255,255); yield; } Obj_SetX(marker,GetEnemyX); if(GetEnemyX<32 || GetEnemyX>416) { Obj_SetX(marker,-100); } alpha = 144+absolute(GetEnemyX-GetPlayerX)*2; ObjEffect_SetVertexColor(marker,0,alpha,0,0,0); ObjEffect_SetVertexColor(marker,1,alpha,0,0,0); ObjEffect_SetVertexColor(marker,2,alpha,0,0,0); ObjEffect_SetVertexColor(marker,3,alpha,0,0,0); yield; } }