• R/O
  • SSH
  • HTTPS

dxruby: Commit


Commit MetaInfo

Revision290 (tree)
Time2012-06-16 15:33:32
Authormirichi

Log Message

Sprite#param_hash追加

Change Summary

Incremental Difference

--- trunk/sprite.c (revision 289)
+++ trunk/sprite.c (revision 290)
@@ -216,10 +216,12 @@
216216 picture->centery = (sprite->vcenter_y == Qnil ? image->height / 2 : NUM2FLOAT( sprite->vcenter_y ));
217217
218218 picture->alpha = NUM2INT( sprite->valpha );
219- picture->blendflag = (sprite->vblend == symbol_add ? 4 :
220- (sprite->vblend == symbol_add2 ? 5 :
221- (sprite->vblend == symbol_sub ? 6 :
222- (sprite->vblend == symbol_sub2 ? 7 : 0))));
219+ picture->blendflag = (sprite->vblend == Qnil ? 0 :
220+ (sprite->vblend == symbol_add ? 4 :
221+ (sprite->vblend == symbol_none ? 1 :
222+ (sprite->vblend == symbol_add2 ? 5 :
223+ (sprite->vblend == symbol_sub ? 6 :
224+ (sprite->vblend == symbol_sub2 ? 7 : 0))))));
223225
224226 /* リストデータに追加 */
225227 rt->PictureList[rt->PictureCount].picture = (struct DXRubyPicture *)picture;
@@ -480,7 +482,26 @@
480482 return vcollision;
481483 }
482484
485+/* param_hash */
486+static VALUE Sprite_get_param_hash( VALUE self )
487+{
488+ struct DXRubySprite *sprite = DXRUBY_GET_STRUCT( Sprite, self );
489+ VALUE vresult;
483490
491+ vresult = rb_hash_new();
492+ rb_hash_aset( vresult, symbol_angle, sprite->vangle );
493+ rb_hash_aset( vresult, symbol_alpha, sprite->valpha );
494+ rb_hash_aset( vresult, symbol_z, sprite->vz );
495+ rb_hash_aset( vresult, symbol_scalex, sprite->vscale_x );
496+ rb_hash_aset( vresult, symbol_scaley, sprite->vscale_y );
497+ rb_hash_aset( vresult, symbol_centerx, sprite->vcenter_x );
498+ rb_hash_aset( vresult, symbol_centery, sprite->vcenter_y );
499+ rb_hash_aset( vresult, symbol_shader, sprite->vshader );
500+ rb_hash_aset( vresult, symbol_blend, sprite->vblend );
501+
502+ return vresult;
503+}
504+
484505 /*--------------------------------------------------------------------
485506 単体と配列の判定
486507 ---------------------------------------------------------------------*/
@@ -787,6 +808,7 @@
787808 rb_define_method( cSprite, "draw", Sprite_draw, 0 );
788809 rb_define_method( cSprite, "===", Sprite_compare, 1 );
789810 rb_define_method( cSprite, "check", Sprite_hitcheck, 1 );
811+ rb_define_method( cSprite, "param_hash", Sprite_get_param_hash, 0 );
790812
791813 /* Spriteクラスにメソッド登録 */
792814 rb_define_singleton_method( cSprite, "check", Sprite_check, -1 );
--- trunk/dxruby.c (revision 289)
+++ trunk/dxruby.c (revision 290)
@@ -1,11 +1,11 @@
11 /*
22 ###################################
33 #
4-# dxruby.c Ver. 1.3.5dev
4+# dxruby.c Ver. 1.3.6dev
55 #
66 ###################################
77 */
8-#define DXRUBY_VERSION "1.3.5dev"
8+#define DXRUBY_VERSION "1.3.6dev"
99
1010 #define WINVER 0x0500 /* バージョン定義 Windows2000以上 */
1111 #define _WIN32_WINNT WINVER
--- trunk/collision.c (revision 289)
+++ trunk/collision.c (revision 290)
@@ -567,6 +567,7 @@
567567 check_line_line(ox[2], oy[2], ox[0], oy[0], dx[2], dy[2], dx[0], dy[0]) ||
568568 checktriangle(ox[0], oy[0], dx[0], dy[0], dx[1], dy[1], dx[2], dy[2]) ||
569569 checktriangle(dx[0], dy[0], ox[0], oy[0], ox[1], oy[1], ox[2], oy[2]);
570+ }
570571 break;
571572 default:
572573 rb_raise( eDXRubyError, "ありえないエラー" );
Show on old repository browser