Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- task lasercage(CenterX,CenterY,ang_vel,r,i){
- let obj = Obj_Create(OBJ_LASER);
- let corner = Obj_Create(OBJ_SHOT);
- let bullet = Obj_Create(OBJ_SHOT);
- let t = 0;
- let h = 0;
- let bounce = true;
- arrayLaser = arrayLaser~[obj];
- Obj_SetPosition(obj,CenterX+r*cos(90*i+ang_vel*t),CenterY+r*sin(90*i+ang_vel*t));
- Obj_SetPosition(corner,CenterX+r*cos(90*i+ang_vel*t),CenterY+r*sin(90*i+ang_vel*t));
- Obj_SetAngle(obj,90*i+135+ang_vel*t);
- ObjLaser_SetLength(obj,r*2^(1/2));
- ObjLaser_SetWidth(obj,15);
- ObjShot_SetGraphic(obj,4);
- ObjShot_SetGraphic(corner,204);
- ObjShot_SetDelay(obj,90);
- ObjShot_SetDelay(corner,0);
- ObjLaser_SetSource(obj,false);
- ObjShot_SetBombResist(corner,true);
- Obj_SetPosition(bullet,Obj_GetX(obj),Obj_GetY(obj));
- Obj_SetAngle(bullet,atan2(GetPlayerY - Obj_GetY(obj), GetPlayerX - Obj_GetX(obj)));
- Obj_SetSpeed(bullet,0.75);
- ObjShot_SetGraphic(bullet,225);
- while(!Obj_BeDeleted(obj)) {
- Obj_SetPosition(obj,CenterX+r*cos(90*i+ang_vel*t),CenterY+r*sin(90*i+ang_vel*t));
- Obj_SetPosition(corner,CenterX+r*cos(90*i+ang_vel*t),CenterY+r*sin(90*i+ang_vel*t));
- Obj_SetAngle(obj,90*i+135+ang_vel*t);
- ObjLaser_SetLength(obj,r*2^(1/2));
- ascent (h in 0..length(arrayLaser)) {
- if (Collision_Obj_Obj(arrayLaser[h],bullet)==true && bounce==true) { Obj_SetAngle(bullet,2*Obj_GetAngle(obj) - Obj_GetAngle(bullet)); bounce = false; }
- }
- t++;
- r+=0.5*cos(t);
- yield;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment