私はiPhoneのゲームに取り組んでいます。その中で私は水の波紋を生み出さなければならなかった。私はそれを得る方法を知らない。私はそれが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でスイングすることをお勧めします。 「水の描画」セクションまでスクロールします。
JK:
z=sin(x)+cos(y)
もっと真剣に、クォーツComposerは、基本的な効果層の一つとして、あなたのために波紋をしませんか?それとも、iPhone 3.0 SDKのみで発表されたのですか?
それは本当に高価なルーチンです。それはゲームでOpenGLを絶対に殺すだろう。私は彼がまともな水の効果を望んでいると推測しています。これは古い学校のテクスチャマッピングの仕掛けを意味します。 – pestilence669
Pardon;知っている。私は冗談を言っていた。 – 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. 周波数領域でコンボリューションをどのように実装できますか?
- 2. Material-UI ListItemの波紋の色はどのように設定しますか?
- 3. 水の波及効果を作成しようとしていますが、波紋は、OpenGL
- 4. IOS指紋の実装
- 5. モバイルバンキングアンドロイドアプリに指紋を実装
- 6. pre-lollipopの波紋効果
- 7. どのようにonShowCustomViewメソッドを実装するのですか?
- 8. テーマアプリケーションをどのように実装するのですか?
- 9. reCaptchaのピラミッド:どのように実装するのですか?
- 10. どのように波紋効果を追加し、アンドロイドのボタンのカスタム背景を持っていますか?
- 11. allrecipiesのような水平カルーセルスクロールバーを実装する方法
- 12. Google Playストアのような水平スクロールビューを実装する
- 13. Oracleトリガ:どのように実装するのですか?
- 14. Struts2タイル - どのように実装するのですか?
- 15. これはどのように実装するのですか?
- 16. imageviewの波紋効果を作るコード
- 17. どのように実装するPushCacheFilter
- 18. daskで相対周波数関数を実装するにはどうすればよいですか?
- 19. 周波数サンプリングフィルタの実装
- 20. Androidリップルエフェクト、波紋エフェクトオーバーレイレイヤーをカスタマイズ
- 21. どのようにアコーディオンスタイルのメニューを実装できますか?
- 22. どのようにALTER TABLEを実装するかの例
- 23. どのようにC#でIRandomAccessStreamを実装できますか?
- 24. ZedGraphでどのようにスプリットペインを実装できますか?
- 25. どのようにWebMethodsでDatatablesを実装できますか?
- 26. AndroidのBottomSheetsに波紋エフェクトを適用する方法
- 27. アンドロイドで水平イメージエフェクト/フィルタビューを実装するにはどうすればよいですか?
- 28. 水平に配置されたDataGridを実装するにはどうすればよいですか?
- 29. どのようにメモリの変更でCQSを実装するのですか?
- 30. どのようにhaskellのファイルシステムで検索を実装するのですか?
あなたは結局、効果を実現しましたか? – Thanks