    //vY(̈)̊Ǘ
    //ϐFӂIDA_WAvYOډ~aAWΊplAA[{, _~[]AOtBbNAxAnp`n
    //gpO[oϐFRevisePrismAngle
    //o̓O[oϐFListPrismLasers


    task TControlPrism(IDLaser, X0, r, AngX0, L, D, Img, time, nTop)
    {
        let AngX = AngX0;

        //vYEŒm
        let obj = Obj_Create(OBJ_LASER);
        ObjLaser_SetLength(obj, L);
        ObjLaser_SetWidth(obj, D[0]);
        ObjShot_SetDelay(obj, time);
        ObjLaser_SetSource(obj, false);

        //E_~[[U[p
        let dummy = Obj_Create(OBJ_LASER);
        ObjLaser_SetLength(dummy, L);
        ObjLaser_SetWidth(dummy, D[1]);
        ObjShot_SetGraphic(dummy, Img);
        ObjShot_SetDelay(dummy, time);
        ObjLaser_SetSource(dummy, false);

        //O[oϐ
        ListPrismLasers = ListPrismLasers ~ [obj];

        let IDPrism = trunc(IDLaser / nTop);

        yield;				//

        loop
        {
            //Wm
            AngX = AngX0 + RevisePrismAngle[IDPrism];
            let X = [X0[0] + r * cos(AngX), X0[1] + r * sin(AngX)];
            let AngLaser = AngX + 90 + 180 / nTop;		//[U[́AƐɏo

            //`
            Obj_SetPosition(obj, X[0], X[1]);
            Obj_SetAngle(obj, AngLaser);
            Obj_SetPosition(dummy, X[0], X[1]);
            Obj_SetAngle(dummy, AngLaser);

            yield;			//[vh~

        }
    }