そのため、IOS用のC4コーディングフレームワークを使用していますが、よくわからないことがあります。
C4 githubアカウントの2つの例(testScrollViewとWalkCycleの例)を一緒に使用しています。
WalkCycleの例を小さなアニメーションキャラクターのテンプレートとして使用するWalkerというC4Viewサブクラスがあります。この文字は、testScrollViewの例から作成されたスクロール可能なビューに配置されます。彼にはパンジェスチャが追加されているため、ユーザーは彼を画面の上部にドラッグして、落下して下部に飛び散るのを見ることができます。
唯一の問題は、パンジェスチャが終了したときに呼び出されるメソッドを取得できないことです。-(void)touchesEndedコマンドからではなく、試した他のコマンドからも取得できません。
私には役立たなかったが、他の誰かがこれを解決するのに役立つかもしれない同様の問題へのいくつかのリンク:
私の完全に無学で根拠のない予感は、c4shapesとimagesで終わるtouchsEndedの認識にこの問題がなかったので、歩行者がC4Viewの子であることに関係しているということです。
コードに何を投稿すればよいかわかりませんが、Walker.mの関連情報を以下に示します。
-(void)setup {
walkA = [C4Image animatedImageWithNames:@[@"beaviswalk1.tiff",
@"beaviswalk2.tiff",
@"beaviswalk3.tiff",
@"beaviswalk4.tiff",
@"beaviswalk5.tiff",
@"beaviswalk6.tiff",
@"beaviswalk7.tiff",
@"beaviswalk8.tiff",
@"beaviswalk9.tiff",
]];
[self addImage:walkA];
currentImage = walkA;
[walkA play];
mover = [C4Timer automaticTimerWithInterval:0.05f target:self method:@"walking" repeats:YES];
[self addGesture:TAP name:@"tapGesture" action:@"trip"];
[self addGesture:PAN name:@"panGesture" action:@"move:"];}
およびtouchesEnded:
-(void)touchesEnded {
C4Log(@"touches Ended");
}
Walker.hを見ると、何か奇妙なことに気づきました。
#import "C4View.h"
@interface Walker : C4Image
-(id)initWithFrame:(CGRect)frame;
-(void)play;
-(void)switchWalkCycle;
-(void)trip;
-(void)bleed;
-(void)walking;
-(void)touchesEnded;
-(void)noTouching;
@end
ある時点で@interfaceをC4Imageに変更しましたが、その時点では何の効果もなかったようで、TAPおよびPANジェスチャが機能するようになりました。これまで....C4Viewに戻すと、すべてのジェスチャがサポートされなくなります。問題があると思いますか?
簡単な解決策がある場合はお詫びしますが、これを修正しようとするとかなり迷ってしまいます。