Box2DView.h
上传用户:gb3593
上传日期:2022-01-07
资源大小:3028k
文件大小:2k
源码类别:

游戏引擎

开发平台:

Visual C++

  1. //
  2. //  Box2DView.h
  3. //  Box2D OpenGL View
  4. //
  5. //  Box2D iPhone port by Simon Oliver - http://www.simonoliver.com - http://www.handcircus.com
  6. //
  7. #import <UIKit/UIKit.h>
  8. #import <OpenGLES/EAGL.h>
  9. #import <OpenGLES/ES1/gl.h>
  10. #import <OpenGLES/ES1/glext.h>
  11. #import "iPhoneTest.h"
  12. #import "Delegates.h"
  13. /*
  14. This class wraps the CAEAGLLayer from CoreAnimation into a convenient UIView subclass.
  15. The view content is basically an EAGL surface you render your OpenGL scene into.
  16. Note that setting the view non-opaque will only work if the EAGL surface has an alpha channel.
  17. */
  18. @interface Box2DView : UIView <UIAccelerometerDelegate> {
  19.     
  20. @private
  21.     /* The pixel dimensions of the backbuffer */
  22.     GLint backingWidth;
  23.     GLint backingHeight;
  24.     
  25.     EAGLContext *context;
  26.     
  27.     /* OpenGL names for the renderbuffer and framebuffers used to render to this view */
  28.     GLuint viewRenderbuffer, viewFramebuffer;
  29.     
  30.     /* OpenGL name for the depth buffer that is attached to viewFramebuffer, if it exists (0 if it does not exist) */
  31.     GLuint depthRenderbuffer;
  32.     
  33.     NSTimer *animationTimer;
  34.     NSTimeInterval animationInterval;
  35. TestEntry* entry;
  36. Test* test;
  37. // Position offset and scale
  38. float sceneScale;
  39. CGPoint positionOffset;
  40. CGPoint lastWorldTouch;
  41. CGPoint lastScreenTouch;
  42. bool panning;
  43. int doubleClickValidCountdown;
  44. id<TestSelectDelegate> _delegate;
  45. }
  46. @property(assign) id<TestSelectDelegate> delegate;
  47. @property NSTimeInterval animationInterval;
  48. - (void)startAnimation;
  49. - (void)stopAnimation;
  50. - (void)drawView;
  51. -(void) selectTestEntry:(int) testIndex;
  52. @end