• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 使用 Cocos2d 绘制矩形

[复制链接]
菜鸟教程小白 发表于 2022-12-12 19:32:28 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

所以我试图在我的 iOS cocos2d 游戏中绘制一个简单的矩形,但它根本没有出现。起初,我将矩形绘制代码添加到 Main 场景的 init 方法中,但没有显示出来,所以我环顾四周。

我读到了 http://www.cocos2d-iphone.org/forum/topic/655我从中得到的是创建一个新类,扩展 CCLayer 类,并将其添加到我的主场景中。

这是我的主要场景的代码:

+(CCScene *) scene
{
    // 'scene' is an autorelease object.
    CCScene *scene = [CCScene node];

    // 'layer' is an autorelease object.
    HelloWorldLayer *layer = [HelloWorldLayer node];
    RectLayer *rectLayer = [RectLayer node];
    // add layer as a child to scene
    [scene addChild:rectLayer];
    [scene addChild: layer];

    // return the scene
    return scene;
}

这是我的 RectLayer.m 代码,

#import "RectLayer.h"

@implementation RectLayer

-(id) init {
    if( (self=[super init] )) {
        glEnable(GL_LINE_SMOOTH);
        glColor4ub(255, 255, 255, 255);
        glLineWidth(2);
        CGPoint vertices2[] = { ccp(79,299), ccp(134,299), ccp(134,229), ccp(79,229) };
        ccDrawPoly(vertices2, 4, YES);
    }
}
@end

现在我在尝试使用 iPad 模拟器打开它时遇到 EXC_BAD_ACCESS 错误。

我最近刚开始使用 Objective-C,所以我不太确定出了什么问题。

感谢您的帮助。



Best Answer-推荐答案


把绘制代码放在draw方法中:

- (void)draw
{
    glEnable(GL_LINE_SMOOTH);
    glColor4ub(255, 255, 255, 255);
    glLineWidth(2);
    CGPoint vertices2[] = { ccp(79,299), ccp(134,299), ccp(134,229), ccp(79,229) };
    ccDrawPoly(vertices2, 4, YES);
}

关于ios - 使用 Cocos2d 绘制矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9442143/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap