コードをちょっとだけ整理してクラスごとにきちんと切りだしてみたのですが、動かないです。機能よりも退化してるけど、とりあえずくまがうろちょろはする予定だったんだけど、なんでだろう?原因が良くわからず・・・。class.createをつかってSpriteを継承したクラスのサンプルコードが見たい。 以下は動かないコード。 e n c h a n t ( ) ; w i n d o w . o n l o a d = f u n c t i o n { / く ま さ ん v a r K u m a = C l a s s . c r e a t e ( S p r i t e ) ; K u m a . p r o t o t y p e . i n i t i a l i z e = f u n c t i o n { ス ー パ ー ク ラ ス の コ ン ス ト ラ ク タ を 適 用 S p r i t e . a p p l y ( t h i s , a r g u m e n t s ) ; t h i s . i m a g e = g a m e . a s s e t s [ ' b e a r . g i f ' ] ; / 画 像 セ ッ ト t h i s . x = M a t h . f l o o r ( M a t h . r a n d o m ( ) 3 2 0 ) ; / 出 現 位 置 x 座 標 t h i s . y = M a t h . f l o o r ( M a t h . r a n d o m ( ) 3 2 0 ) ; / 出 現 位 置 y 座 標 t h i s . x d i r e c t i o n = 1 ; / x 方 向 の 移 動 の 向 き ( 1 : 右 , 2 : 左 ) t h i s . y d i r e c t i o n = 1 ; / y 方 向 の 移 動 の 向 き ( 1 : 下 , 2 : 上 ) / く ま さ ん の 毎 フ レ ー ム の 動 き t h i s . a d d E v e n t L i s t e n e r ( ' e n t e r f r a m e ' , f u n c t i o n { / 消 え て る ? i f ( t h i s . a c t i o n = = " 消 え る " ) { t h i s . t i m e + + ; i f ( t h i s . t i m e > = 1 5 ) { / 1 5 フ レ ー ム で 消 え る よ 。 g a m e . r o o t S c e n e . r e m o v e C h i l d ( t h i s ) ; } r e t u r n ; } / 消 え て な け れ ば 適 当 に 毎 フ レ ー ム と こ と こ 歩 き ま す 。 t h i s . x + = M a t h . f l o o r ( M a t h . r a n d o m ( ) 2 ) t h i s . x d i r e c t i o n ; t h i s . y + = M a t h . f l o o r ( M a t h . r a n d o m ( ) 2 ) t h i s . y d i r e c t i o n ; / た ま に 方 向 を 変 え る i f ( g a m e . f r a m e % 2 0 = = 0 ) { i f ( M a t h . r o u n d ( M a t h . r a n d o m ( ) ) = = 1 ) { t h i s . x d i r e c t i o n * = - 1 ; t h i s . s c a l e X * = - 1 ; } i f ( M a t h . r o u n d ( M a t h . r a n d o m ( ) ) = = 1 ) { t h i s . y d i r e c t i o n * = - 1 ; } } / 画 面 か ら は み 出 し た ら 逆 に 移 動 i f ( t h i s . x + t h i s . w i d t h > g a m e . w i d t h ) { t h i s . x d i r e c t i o n = - 1 ; t h i s . s c a l e X = - 1 ; } i f ( t h i s . y + t h i s . h e i g h t > g a m e . h e i g h t ) { t h i s . y d i r e c t i o n = - 1 ; } i f ( t h i s . x < = 0 ) { t h i s . x d i r e c t i o n = 1 ; t h i s . s c a l e X = 1 ; } i f ( t h i s . y < = 0 ) { t h i s . y d i r e c t i o n = 1 ; } / ア ニ メ ー シ ョ ン i f ( g a m e . f r a m e % 3 = = 0 ) { t h i s . f r a m e + + ; } } ) ; / く ま さ ん が 叩 か れ た 時 t h i s . a d d E v e n t L i s t e n e r ( ' t o u c h s t a r t ' , f u n c t i o n ( e ) { n e w K u m a V o i c e ( t h i s . x , t h i s . y ) ; / 「 く ま ー 」 と 叫 ぶ t h i s . a c t i o n = " 消 え る " / く ま さ ん 消 え る t h i s . o p a c i t y = 0 . 5 ; / く ま さ ん 半 透 明 に な る t h i s . t i m e = 0 ; / 時 間 を リ セ ッ ト } ) ; / 画 面 に 表 示 す る g a m e . r o o t S c e n e . a d d C h i l d ( t h i s ) ; } / く ま さ ん の 声 v a r K u m a V o i c e = C l a s s . c r e a t e ( L a b e l ) ; K u m a V o i c e . p r o t o t y p e . i n i t i a l i z e = f u n c t i o n ( x , y ) { ス ー パ ー ク ラ ス の コ ン ス ト ラ ク タ を 適 用 S p r i t e . a p p l y ( t h i s , a r g u m e n t s ) ; t h i s . t e x t = ' く ま ー ' ; t h i s . x = x ; t h i s . y = y - 1 0 ; t h i s . t i m e = 0 ; / 毎 フ レ ー ム の 動 き t h i s . a d d E v e n t L i s t e n e r ( ' e n t e r f r a m e ' , f u n c t i o n { t h i s . y - - ; t h i s . t i m e + + ; 1 5 フ レ ー ム で 消 え る i f ( t h i s . t i m e > = 1 5 ) { g a m e . r o o t S c e n e . r e m o v e C h i l d ( t h i s ) ; } } ) ; / 画 面 に 表 示 す る g a m e . r o o t S c e n e . a d d C h i l d ( t h i s ) ; } / 時 間 v a r T i m e = C l a s s . c r e a t e ( L a b e l ) ; T i m e . p r o t o t y p e . i n i t i a l i z e = f u n c t i o n ( ) { ス ー パ ー ク ラ ス の コ ン ス ト ラ ク タ を 適 用 S p r i t e . a p p l y ( t h i s , a r g u m e n t s ) ; t h i s . x = 5 ; t h i s . y = 5 ; t h i s . f o n t = " 8 p x ' A r i a l ' " ; t h i s . t i m e = 0 ; t h i s . t e x t = " じ か ん : " + t h i s . t i m e + " び ょ う " ; / 毎 フ レ ー ム の 動 き t h i s . a d d E v e n t L i s t e n e r ( ' e n t e r f r a m e ' , f u n c t i o n { / ゲ ー ム が 終 っ て い な け れ ば 更 新 i f ( g a m e . r u n n i n g ) { i f ( g a m e . f r a m e % g a m e . f p s = = 0 ) { t h i s . t i m e + + ; t h i s . t e x t = " じ か ん : " + t i m e . t i m e + " び ょ う " ; } } } ) ; / 描 画 登 録 g a m e . r o o t S c e n e . a d d C h i l d ( t h i s ) ; } / ゲ ー ム v a r g a m e = n e w G a m e ( 3 2 0 , 3 2 0 ) ; g a m e . p r e l o a d ( ' b e a r . g i f ' ) ; g a m e . o n l o a d = f u n c t i o n { / く ま さ ん 生 成 v a r k u m a N u m = 5 0 ; / く ま さ ん 何 匹 出 す か f o r ( i = 0 ; i < k u m a N u m ; i + + ) { n e w K u m a ( ) ; } / ゲ ー ム 開 始 g a m e . s t a r t ( ) ; } } ;