简体   繁体   中英

Cocos2d v3: What do you pass into drawPolyWithVerts?

I've looked at the documentation for CCDrawNode, and the method to draw a polygon is

- (void)drawPolyWithVerts:(const CGPoint *)verts 
                    count:(NSUInteger)count 
                fillColor:(CCColor *)fill 
              borderWidth:(CGFloat)width 
              borderColor:(CCColor *)line

http://www.cocos2d-swift.org/docs/api/Classes/CCDrawNode.html#//api/name/drawPolyWithVerts:count:fillColor:borderWidth:borderColor :

I'm confused by the (const CGPoint *)certs parameter. I thought a CGPoint was a struct, and so didn't need a pointer.

Also, I'm a assuming you'll need a series of points to construct a polygon, and I thought CGPoint just represented one point.

I've checked through the Cocos 2d Programming Guide and I couldn't see anything about this method in there.

https://www.makegameswith.us/docs/#!/cocos2d/1.1/overview

I've also check out CGGeometry Reference on Apple's site, but couldn't see anything there.

https://developer.apple.com/library/mac/documentation/graphicsimaging/reference/CGGeometry/Reference/reference.html#//apple_ref/c/func/CGPointMake

I think I'm missing something fairly basic about C / Objective-C, but I can't figure it out.

My Question

What do i pass into drawPolyWithVerts:(const CGPoint *)verts , and how do I make it?

As user667648 pointed out in the comments, the answer is to pass a C array of CGPoints into the method.

Example:

CGPoint polygon[4] =
        {
            CGPointMake(0, 0),
            CGPointMake(2, 0),
            CGPointMake(0, 7),
            CGPointMake(2, 25)
        };

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM