나는 선을 그리기를 좋아하지만, ccDrawLine 톱니 안에 cocos2d, 선의 흐림을 그리는 방법, 누가 나를 도울 수 있습니까?cocos2d에서 OpenGL 선 그리기를 사용하는 방법
답변
저는 ccDrawLine을 사용하지 않았지만 Sprite로 라인을 생성하고 애니메이션을했습니다 (아래 코드 참조). 이 방법으로 나는 만들어진 커스텀 라인 이미지를 사용할 수 있었다. (하지만 나는 그렇게했다.) 당신이 기본 요소에 충실하려면
나는 예를 들어 시작 (당신이 원시 (방법을 설명 this 게시물을 참조) 라인의 불투명도를 설정해야하고 불투명도 레벨을 설정 행동의 순서를 만들 수있을 것 같아요 다시 내 이미지 만 흐리게 효과를 얻기 위해) 위의 링크의 방법을 사용했던 것처럼 100 % 100 %, 다음 75 %, 불투명도 ..
코드 사용하여 이미지 :
CCSprite * string = [self getChildByTag:tag];
[string setOpacity:100];
NSMutableArray* frames = [[NSMutableArray alloc]initWithCapacity:3];
NSString*lineFrame = [NSString stringWithString:@"line0.png"];
CCSpriteFrame* frame = [[CCSpriteFrameCache sharedSpriteFrameCache]spriteFrameByName:lineFrame];
[frames addObject:frame];
lineFrame = [NSString stringWithString:@"line1.png"];
frame = [[CCSpriteFrameCache sharedSpriteFrameCache]spriteFrameByName:lineFrame];
[frames addObject:frame];
lineFrame = [NSString stringWithString:@"line0.png"];
frame = [[CCSpriteFrameCache sharedSpriteFrameCache]spriteFrameByName:lineFrame];
[frames addObject:frame];
CCAnimation* anim = [CCAnimation animationWithFrames:frames delay:0.1f];
CCAnimate* animate = [CCAnimate actionWithAnimation:anim];
//CCRepeatForever* repeat = [CCRepeatForever actionWithAction:animate];
[string runAction:animate];
[string setOpacity:75];
희망이 도움이 ..
#import "cocos2d.h"
@interface CClineSprite : CCLayer
{
CCRenderTexture * renderTarget;
NSMutableArray * pathArray;
CCSprite * pathBrush;
CGPoint prePosition;
}
-(void)setLinePosition:(CGPoint)position;
-(void)setLineOpacity:(GLubyte) anOpacity;
-(void)setLineScale:(float) scale;
-(void)setLineColor:(ccColor3B) color;
@end
#import "CClineSprite.h"
@implementation CClineSprite
- (id) init
{
self = [super init];
if (self)
{
CGSize s = [[CCDirector sharedDirector] winSize];
renderTarget = [CCRenderTexture renderTextureWithWidth:s.width height:s.height];
[renderTarget setPosition:ccp(s.width/2, s.height/2)];
[self addChild:renderTarget z:1];
pathBrush = [CCSprite spriteWithFile:@"dots.png"];
pathBrush.color = ccWHITE;
[pathBrush setOpacity:100];
[pathBrush setScale:0.5];
pathArray = [[NSMutableArray alloc]init];
}
return self;
}
-(void)setLineOpacity:(GLubyte) anOpacity
{
[pathBrush setOpacity:anOpacity];
}
-(void)setLineScale:(float) scale
{
[pathBrush setScale:scale];
}
-(void)setLineColor:(ccColor3B) color
{
[pathBrush setColor:color];
}
-(void)setLinePosition:(CGPoint)position
{
[pathArray addObject:[NSValue valueWithCGPoint:position]];
[self renderPath];
}
- (void) renderPath
{
[renderTarget clear:0 g:0 b:0 a:0];
[renderTarget begin];
for (int i = 0; i < pathArray.count-1;i++)
{
CGPoint pt1;
CGPoint pt2;
[[pathArray objectAtIndex:i] getValue: &pt1];
[[pathArray objectAtIndex:i + 1] getValue: &pt2];
float distance = ccpDistance(pt1, pt2);
if (distance > 1)
{
int d = (int)distance;
for (int i = 0; i < d; i += 10)
{
float difx = pt2.x - pt1.x;
float dify = pt2.y - pt1.y;
float delta = (float)i/distance;
[pathBrush setPosition:ccp(pt1.x + (difx * delta), pt1.y + (dify * delta))];
[pathBrush visit];
}
}
}
[renderTarget end];
}
@end
사용법 :
CClineSprite* streak = [CClineSprite node];
[self addChild:streak z:999];
[streak setLinePosition:associatedTurtleObject.position];
[streak setLineScale:0.4];
동적으로 업데이트하거나 라인을 확장 단지
[streak setLinePosition:ccp(x,y)];
희망 사용이
사용법 : CClineSprite * streak = [CClineSprite node]; [self addChild : streak z : 999]; [streak setLinePosition : associatedTurtleObject.position]; [streak setLineScale : 0.4]; 동적으로 업데이트 또는 선을 연장 단지 [킬 setLinePosition : CCP (X, Y)]를 사용하여; 희망이 당신에게 사용하기 위해 더 많은 유연성을 제공합니다 –
- 1. 자바에서 선 그리기를 움직이게하는 방법
- 2. iPhone 개발에서 선 그리기를 움직이는 방법?
- 3. OpenGL ES 1.0을 사용하는 Android의 선 그리기
- 4. WPF 그리기를 직렬화하는 방법?
- 5. OpenGL 선 그리기 결과
- 6. OpenGL : VBO로 선 그리기
- 7. OpenGL - 점이있는 선 그리기
- 8. iPad에서 터치 그리기를 구현하는 방법
- 9. 선 그리기를 통해 그리드 아이템을 연결하는 방법은 무엇입니까?
- 10. ios의 Cocos2D에서 터치 동작시 커스텀 라인을 그리는 방법?
- 11. 하스켈에서 OpenGL을 사용하는 선 그리기
- 12. iphone (CGGraphics)에서 선 그리기를 지우는 방법은 무엇입니까?
- 13. 버텍스 버퍼가있는 Java OpenGL 선 그리기
- 14. OpenGL 3.2에서 GL_TEXTURE_2D_ARRAY 사용하는 방법
- 15. Activity.onConfigurationChanged에서보기의 다시 그리기를 강제하는 방법
- 16. HTML5 캔버스에서 그리기를 애니메이션하는 방법
- 17. 그래픽 화면에서 그리기를 지우는 방법
- 18. LWJGL OpenGL - 3D 점에서 화면 중앙까지의 선
- 19. OpenGL ES 2.0 - 텍스처로 선 그리기?
- 20. Xcode를 사용하여 openGL ES 1.0에 선 그리기
- 21. OpenGL : 두 요소 사이에 선 그리기
- 22. Cocos2d에서 이미지를 언로드하는 방법
- 23. cocos2d에서 UIImagepickerview를 통합하는 방법
- 24. cocos2d에서 CCLayer를 이동하는 방법
- 25. Cocos2d에서 AdBannerView를 통합하는 방법
- 26. cocos2d에서 스프라이트를 오버랩하는 방법
- 27. iPhone에서 OpenGL ES의 라인 다듬기
- 28. OpenGL Extensions : OS X에서 OpenGL을 사용하는 방법 - OpenGL 초보자
- 29. Cocos2D help : cocos2D에서 SQLite 데이터베이스를 설치하고 사용하는 방법?
- 30. OpenGL ES 상태를 저장/복원하는 올바른 방법
가 대단히 감사합니다 사용하기 위해 더 많은 유연성을 제공합니다하려면,이 메서드가 사용됩니다. – user1297301
다행입니다. :) – mm24