如何不用图片绘制图形精灵
2013-01-10 12:17
513 查看
我们有时常常需要一些圆形或者方形的背景,来修饰其他精灵,而专门画张图片又有点麻烦,这时就需要自己用程序来绘制了。
最常见的两种:
方形精灵
圆形精灵
以上两种,分别用不同的方法来进行绘制,同理,修改内容,也可以绘制各种自己想要的图形,设置自己想要的颜色和透明度
最常见的两种:
方形精灵
-(CCSprite*) createSpriteRectangleWithSize:(CGSize)size { CCSprite *sprite = [CCSprite node]; GLubyte *buffer = malloc(sizeof(GLubyte)*4); for (int i=0;i<4;i++) {buffer[i]=255;} CCTexture2D *tex = [[CCTexture2D alloc] initWithData:buffer pixelFormat:kCCTexture2DPixelFormat_RGB5A1 pixelsWide:1 pixelsHigh:1 contentSize:size]; [sprite setTexture:tex]; [sprite setTextureRect:CGRectMake(0, 0, size.width, size.height)]; free(buffer); return sprite; }
圆形精灵
-(CCSprite*) createSpriteCircleWithRadius:(float)radius { CGSize circleSize = CGSizeMake(radius*2*CC_CONTENT_SCALE_FACTOR(), radius*2*CC_CONTENT_SCALE_FACTOR()); CGContextRef context = CGBitmapContextCreate(NULL, circleSize.width, circleSize.height, 8, 0,CGColorSpaceCreateDeviceRGB(), kCGImageAlphaPremultipliedLast); float lengths[] = {10,10}; CGContextSetLineDash(context, 0, lengths, 2); CGContextSetRGBStrokeColor(context, 0.65, 0.65, 0.65, 1.0); CGContextSetLineWidth(context, 2); CGContextAddArc(context, circleSize.width/2, circleSize.height/2 , circleSize.width/2, 0,2*M_PI,1); CGContextDrawPath(context,kCGPathStroke); CGImageRef shadowedCGImage = CGBitmapContextCreateImage(context); CGContextRelease(context); UIImage * shadowedImage = [UIImage imageWithCGImage:shadowedCGImage]; CGImageRelease(shadowedCGImage); [[CCTextureCache sharedTextureCache] addCGImage:[shadowedImage CGImage] forKey:@"circleKey"]; return [CCSprite spriteWithTexture:[[CCTextureCache sharedTextureCache] textureForKey:@"circleKey"]]; }
以上两种,分别用不同的方法来进行绘制,同理,修改内容,也可以绘制各种自己想要的图形,设置自己想要的颜色和透明度
相关文章推荐
- 如何在DeepEarth中进行图形绘制(点、线、多边形以及自定义图片图层)
- openGL学习笔记1(入门----如何绘制 直线、多边形、圆、利用图片绘制图形等)
- 如何在DeepEarth中进行图形绘制(点、线、多边形以及自定义图片图层)
- asp.net C#如何上传指定路径的图片,不用FileUpload控件[转]
- 【Android开发】图形图像处理技术-绘制图片
- 【Android LibGDX游戏引擎开发教程】第06期:图形图像的绘制(下)图片整合工具的使用
- GDI+ 如何将图片绘制成圆形的图片
- Android游戏引擎libgdx使用教程2:如何绘制图形
- 本文讲述如何绘制条形图,折线图,柱形图,面积图等常见图形。
- 【改进】Qt界面显示图片,在图上绘制图形,拖动顶点改变大小
- 如何用12864液晶显示图片和绘制任意函数图象(打点)
- IOS Quartz 各种绘制图形用法---实现画图片、写文字、画线、椭圆、矩形、棱形等
- IOS Quartz 各种绘制图形用法---实现画图片、写文字、画线、椭圆、矩形、棱形等
- HTML table表头排序箭头绘制法【不用箭头图片】
- Symbian中如何绘制背景图片问题
- 如何不用程序框架来绘制屏幕
- 幻灯片PPT(PowerPoint)绘制的图形如何转为EPS格式
- 如何使origin绘制的图形横纵坐标比例一致
- Qt实现简单图形绘制,双缓冲机制和显示SVG格式图片
- iOS图形绘制方法汇总及图片处理