Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- task looseLaser(x,y,v,angle,width,maxLen,graphic,delay) {
- let vx = v * cos(angle);
- let vy = v * sin(angle);
- let i = 0;
- let laserLength = 0;
- let max = floor(maxLen / v);
- let obj = Obj_Create(OBJ_LASER);
- // obj code
- Obj_SetPosition (obj,x,y);
- Obj_SetAngle (obj,angle);
- ObjLaser_SetWidth (obj,width);
- ObjShot_SetGraphic(obj,graphic);
- ObjLaser_SetSource(obj,false);
- ObjShot_SetDelay(obj,delay);
- // while the laser is alive
- while(! Obj_BeDeleted(obj)) {
- // extends the laser until it reaches maxLength
- if(i < max) {
- laserLength += v;
- i++;
- }
- ObjLaser_SetLength(obj,laserLength);
- Obj_SetPosition(obj,x,y);
- yield;
- // moves the laser object based on angle set.
- x += vx;
- y += vy;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement