나는 아이폰 게임을하고있다. 나는 물결을 일으켜야했다. 나는 그것을 어떻게 얻는 지 모른다. 나는 그것이 OpenGL로 할 수 있다고 들었다. 나는이 개념에 대해 아주 새로운 것입니다. 아무도 나를 안내 할 수 있습니까?물 잔물결을 구현하는 방법은 무엇입니까?
답변
여기 내가 찾은 일부 리소스입니다
Language Agnostic 2d Water Ripple Algorithm
alt text http://freespace.virgin.net/hugo.elias/graphics/x_water4.gifalt text http://freespace.virgin.net/hugo.elias/graphics/ripples.gif
OpenGL Project with Water Ripples (Source)
alt text http://www.sulaco.co.za/opengl/water.jpg
또한 GameDev's FAQ으로 스윙 할 수 있습니다. 아래로 스크롤하여 "Water Rendering"섹션으로 이동하십시오.
JK :
더 심각z=sin(x)+cos(y)
, 쿼츠 컴포저 기본적으로 효과 레이어의 하나로서 당신을 위해 잔물결을하지 않는 이유는 무엇입니까? 아니면 iPhone 3.0 SDK에서만 발표 되었습니까?
그건 정말 비싼 루틴입니다. 그것은 게임에서 OpenGL을 절대적으로 없애 버릴 것입니다. 나는 낡은 학교의 텍스처 맵핑 트릭을 의미하는 적당한 물 효과를 원한다고 생각합니다. – pestilence669
사면; 알아. 농담 이었어. – dlamblin
물 리플 효과의 소스 코드를 발견하여 프로젝트에 구현하고 문제를 해결하는 코드를 따르십시오.
수입 "HelloWorldLayer.h"
// HelloWorldLayer implementation
@implementation HelloWorldLayer
+(CCScene *) scene
{
// 'scene' is an autorelease object.
CCScene *scene = [CCScene node];
// 'layer' is an autorelease object.
HelloWorldLayer *layer = [HelloWorldLayer node];
// add layer as a child to scene
[scene addChild: layer];
// return the scene
return scene;
}
// on "init" you need to initialize your instance
-(id) init
{
if((self=[super init])) {
rippleImage = [ pgeRippleSprite ripplespriteWithFile:@"image_old.png" ];
[ self addChild:rippleImage ];
CCLabelTTF *label = [CCLabelTTF labelWithString:@"Hello Cocos2D Forum" fontName:@"Marker Felt" fontSize:16];
label.position = ccp(80 , 300);
[self addChild: label];
[ [ CCTouchDispatcher sharedDispatcher ] addTargetedDelegate:self priority:0 swallowsTouches:YES ];
// schedule update
[ self schedule:@selector(update:) ];
}
return self;
}
float runtime = 0;
-(BOOL)ccTouchBegan:(UITouch*)touch withEvent:(UIEvent*)event {
runtime = 0.1f;
[ self ccTouchMoved:touch withEvent:event ];
return(YES);
}
-(void)ccTouchMoved:(UITouch *)touch withEvent:(UIEvent *)event {
CGPoint pos;
if (runtime >= 0.1f) {
runtime -= 0.1f;
// get touch position and convert to screen coordinates
pos = [ touch locationInView: [ touch view ] ];
pos = [ [ CCDirector sharedDirector ] convertToGL:pos ];
// [ rippleImage addRipple:pos type:RIPPLE_TYPE_RUBBER strength:1.0f ];
[ rippleImage addRipple:pos type:RIPPLE_TYPE_WATER strength:2.0f ];
}
}
-(void)update:(ccTime)dt {
runtime += dt;
[ rippleImage update:dt ];
}
// on "dealloc" you need to release all your retained objects
- (void) dealloc
{
// in case you have something to dealloc, do it in this method
// in this particular example nothing needs to be released.
// cocos2d will automatically release all the children (Label)
// don't forget to call "super dealloc"
[super dealloc];
}
@end
- 1. iPhone (물결 애니메이션)에서 물 애니메이션을 구현하는 방법은 무엇입니까?
- 2. "기능 물"?
- 3. SOAP을 구현하는 방법은 무엇입니까?
- 4. 대기중인지도를 구현하는 방법은 무엇입니까?
- 5. IDEA를 구현하는 방법은 무엇입니까?
- 6. 리스너를 구현하는 방법은 무엇입니까?
- 7. initWithObjects를 구현하는 방법은 무엇입니까?
- 8. 스크롤을 구현하는 방법은 무엇입니까?
- 9. 배지를 구현하는 방법은 무엇입니까?
- 10. Java Reflection.Emit의 동등 물
- 11. 런타임 라이센스를 구현하는 방법은 무엇입니까?
- 12. 조건부 구현을 구현하는 방법은 무엇입니까?
- 13. Django에서이 모델을 구현하는 방법은 무엇입니까?
- 14. 블로그 로그인을 구현하는 방법은 무엇입니까?
- 15. 맞춤 이벤트를 구현하는 방법은 무엇입니까?
- 16. onShowCustomView 메서드를 구현하는 방법은 무엇입니까?
- 17. 페이지 매김을 구현하는 방법은 무엇입니까?
- 18. PHP에서 returnurl을 구현하는 방법은 무엇입니까?
- 19. UITableViewController에서 UICustomSearchBar를 구현하는 방법은 무엇입니까?
- 20. 인터프리터에서 배열을 구현하는 방법은 무엇입니까?
- 21. MenuStrip 함수를 구현하는 방법은 무엇입니까?
- 22. 투영 그림을 구현하는 방법은 무엇입니까?
- 23. 일반적인 RepositoryFactory를 구현하는 방법은 무엇입니까?
- 24. 순환 UIScrollView를 구현하는 방법은 무엇입니까?
- 25. JPA에서자가 결합을 구현하는 방법은 무엇입니까?
- 26. GWT에서 HashMap을 구현하는 방법은 무엇입니까?
- 27. 이벤트 대기열을 구현하는 방법은 무엇입니까?
- 28. WCF로 MVVM을 구현하는 방법은 무엇입니까?
- 29. 캐시 속성을 구현하는 방법은 무엇입니까?
- 30. cakephp에 memcache를 구현하는 방법은 무엇입니까?
당신은 결국 효과를 얻을나요? – Thanks