Jump to content

Using 2 polygons as mask for sprite group mask


Torn
 Share

Recommended Posts

Hey. 

I am trying to using 2 polygons as mask for a sprite group. It seems to work with drawRect perfectly, when I use more than 1 (as in the example image). 
But whenever I try to use 2 polygons, it just apply the first one created as mask. One polygon is above the window, one being the window itself. (see the code).

I have provided my example code here.

poly = new Phaser.Polygon(
                { x: 0, y: 0 },{ x: 0, y: 255 },{ x: 153, y: 255 },{ x: 154, y: 218 },
                { x: 176, y: 213 },{ x: 165, y: 215 },{ x: 165, y: 215 },{ x: 176, y: 213 },
                { x: 199, y: 211 },{ x: 199, y: 211 },{ x: 201, y: 157 },{ x: 202, y: 149 },
                { x: 205, y: 142 },{ x: 200, y: 139 },{ x: 199, y: 132 },{ x: 206, y: 127 },
                { x: 215, y: 123 },{ x: 215, y: 123 },{ x: 231, y: 120 },
                { x: 256, y: 116 },{ x: 303, y: 116 },{ x: 328, y: 119 },{ x: 349, y: 122 },{ x: 356, y: 125 },
                { x: 360, y: 130 },{ x: 361, y: 151 },{ x: 365, y: 184 },{ x: 365, y: 216 },
                { x: 366, y: 252 },{ x: 550, y: 251 },{ x: 552, y: 213 },{ x: 550, y: 210 },
                { x: 550, y: 207 },{ x: 569, y: 201 },{ x: 591, y: 199 },{ x: 615, y: 199 },
                { x: 638, y: 201 },{ x: 659, y: 204 },{ x: 675, y: 208 },{ x: 675, y: 212 },
                { x: 675, y: 212 },{ x: 672, y: 213 },{ x: 671, y: 216 },{ x: 671, y: 249 },
                { x: 767, y: 249 },{ x: 927, y: 239 },{ x: 947, y: 239 },{ x: 940, y: 479 },
                { x: 957, y: 497 },{ x: 960, y: 509 },{ x: 960, y: 509 },{ x: 982, y: 532 },
                { x: 984, y: 548 },{ x: 998, y: 568 },{ x: 1005, y: 562 },{ x: 1024, y: 561 },                              
                { x: 1024, y: 0 }              
            );  

            poly2 = new Phaser.Polygon(
                { x: 780, y: 280 },{ x: 876, y: 280 },{ x: 876, y: 371 },
                { x: 848, y: 371 },{ x: 848, y: 352 },{ x: 779, y: 352 }
            );

            mask = this.add.graphics(0, 0);            
            mask.beginFill(0xFFFFFF);
            mask.drawPolygon(poly.points);
            mask.drawPolygon(poly2.points);

            enemies.mask = mask; 

Is there something I have missed or is this a bug? Is there another (better) way of doing what I am trying to archive (on the example images)?
Basicly it is one big image I just want to be able to define specific areas where enemies can be shown in-game.

Since I would probably need to add at least a couple more areas.

Thanks for your help.

DEElhlt.png

GAueWkz.png

Link to comment
Share on other sites

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...