Bir iphone oyunu üzerinde çalışıyorum. Bu su dalgaları üretmek zorunda kaldı. Bunu nasıl alacağımı bilmiyorum. Bunun OpenGL ile yapılabileceğini duydum. Bu konsepte çok yeniyim. Herhangi biri bana rehberlik edebilir mi?Su dalgaları nasıl uygulanır?
cevap
İşte buldum bazı kaynaklar şunlardır:
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
Ayrıca GameDev's FAQ tarafından sallanmaya isteyebilirsiniz. "Su İşleme" bölümüne ilerleyin.
jk:
Daha ciddiz=sin(x)+cos(y)
, Kuvars Besteci temelde etkileri katmanlardan biri olarak sizin için dalgaların yapmıyor? Yoksa sadece iPhone 3.0 SDK için açıklandı mı?
Bu gerçekten pahalı bir rutindir. Bir oyunda kesinlikle OpenGL'i öldürür. Sanırım eski okul dokusu haritalama püf noktaları anlamına gelen iyi bir su etkisi istiyor. – pestilence669
Pardon; Biliyorum. Şaka yapıyordum. – dlamblin
Su dalgalanma efektinin kaynak kodunu buldum, böylece projenize uygulanacak kodu takip edip probleminizi de kişiselleştirin.
ithalat "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. SpriteKit Swift 2 Eylemler: düşman dalgaları yumurtlama
- 2. su: izin reddedildi hatası
- 3. OSX su komut sorunu
- 4. .NET SSH pbrun su
- 5. su gönderileri: Üzgünüz?
- 6. Android SU izinleri: Bunları nasıl kullanırsınız?
- 7. Flaşta Perlin gürültüsü nasıl uygulanır?
- 8. Bash işlevi su komutuyla çalışan
- 9. itme değerleri (yelkenler js) su hattı
- 10. schema.org includesIn nasıl uygulanır?
- 11. Set.toString() nasıl uygulanır?
- 12. LowPass Filtresi nasıl uygulanır?
- 13. AngularFireAuth nasıl düzgün uygulanır?
- 14. OpenID nasıl uygulanır?
- 15. Zamanlanmış döngü nasıl uygulanır?
- 16. 'Beğen' sistemi nasıl uygulanır
- 17. Bir MPVolumeView nasıl uygulanır?
- 18. ** Python'da nasıl uygulanır?
- 19. string.find, CPython'da nasıl uygulanır?
- 20. BigDecimal nasıl uygulanır?
- 21. Braintree escrow nasıl uygulanır
- 22. teradata sıralaması nasıl uygulanır
- 23. operatörü sil - nasıl uygulanır?
- 24. Django yamaları nasıl uygulanır
- 25. Üye türleri nasıl uygulanır?
- 26. "const" nasıl uygulanır?
- 27. Paralaks kaydırma nasıl uygulanır?
- 28. WPF'nin DependencyObject nasıl uygulanır?
- 29. DAO Scala'da Nasıl Uygulanır?
- 30. MonoTouch'da UISearchBar nasıl uygulanır
sonuçta, etkiyi elde mü? – Thanks