cocos2d iPhoneで、マルチとして、ひとつのレイヤをタップの移動量によりスクロールさせようとすると、移動量に比例して黒い四角が表示されてしまうのですが、解決策は無いでしょうか?シミュレーターでは不具合なく、実機で試すと出てしまうんです。><
cocos2d iPhoneで、マルチとして、ひとつのレイヤをタップの移動量によりスクロールさせようとすると、移動量に比例して黒い四角が表示されてしまうのですが、解決策は無いでしょうか?シミュレーターでは不具合なく、実機で試すと出てしまうんです。><
// // TextLayer.m // scrollTest // // Created by admin on 11/09/05. // Copyright 2011年 __MyCompanyName__. All rights reserved. // #import "TextLayer.h" @implementation TextLayer static BOOL headerMarkFlg; static BOOL footerMarkFlg; static int limitSelfSize; static CGPoint lastTouchLocation; + (CCScene *) scene{ CCLOG(@"%@ : %@", NSStringFromSelector(_cmd), self); CCScene *scene = [CCScene node]; TextLayer *layer = [TextLayer node]; [scene addChild:layer]; return scene; } - (void) dealloc { CCLOG(@"%@ : %@", NSStringFromSelector(_cmd), self); [super dealloc]; } - (id)init { CCLOG(@"%@ : %@", NSStringFromSelector(_cmd), self); self = [super init]; if (self) { // Initialization code here. headerMarkFlg = YES; footerMarkFlg = YES; //出力テキスト NSArray *textArray = [[NSArray alloc] initWithObjects: @"背景画像出典: pro.foto", @"http://pro.foto.ne.jp", @"", @"以下の文章は次を引用した。", @"ただしこれは出力文字のサンプル", @"として使用するものであり", @"正確性を保証しない。", @"", @"GNU 劣等一般公衆利用許諾契約書", @"バージョン 2.1、1999年2月", @"日本語訳、2002年8月14日", @"ソフトウェア向けライセンスの", @"大半は、あなたがそのソフトウェア", @"を共有したり変更したりする自由を", @"奪うよう設計されています。", @"対照的に、各種のGNU 一般公衆", @"利用許諾契約書は、あなたがフリー", @"ソフトウェアを共有したり改変", @"したりする自由を保証する", @"--すなわち、ソフトウェアが", @"そのユーザすべてにとって", @"フリーであることを保証する", @"ことを目的としています。", @"", @"このライセンス、", @"「劣等一般公衆利用許諾契約書」は、", @"フリーソフトウェア財団やこの契約書", @"を適用すると決めたフリーソフト", @"ウェア財団以外の作者による特定の", @"ソフトウェアパッケージ--典型的には", @"ライブラリ--のいくつかに適用され", @"ます。あなたもこの契約書を適用する", @"ことができますが、私たちとしてはまず", @"最初に、ある特定の用途においてこの", @"契約書と通常の一般公衆利用許諾契約書", @"のどちらを適用するのが戦略としてより", @"優れているかを、以下の説明に即して", @"注意深く考えてみることをおすすめし", @"ます。", nil]; //表示 int i=100; limitSelfSize = 400; for(NSString *str in textArray){ CCLabelTTF *label1 = [CCLabelTTF labelWithString:str fontName:@"HiraKakuProN-W3" fontSize:17]; label1.color = ccWHITE; label1.position = ccp(label1.contentSize.width/2+10, limitSelfSize); [self addChild:label1 z:2*i tag:2*i]; CCLabelTTF *label2 = [CCLabelTTF labelWithString:str fontName:@"HiraKakuProN-W3" fontSize:17]; label2.color = ccBLACK; label2.position = ccp(label1.position.x+2, label1.position.y-2); [self addChild:label2 z:2*i-1 tag:2*i-1]; limitSelfSize -= 22; i++; } self.isTouchEnabled = YES; } return self; } - (void) ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ CCLOG(@"%@ : %@", NSStringFromSelector(_cmd), self); UITouch *touch = [touches anyObject]; lastTouchLocation = [self convertTouchToNodeSpace:touch]; [self stopActionByTag:ActionTagHelloWorldLayerMovesBack]; } -(void) ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{ CCLOG(@"%@ : %@", NSStringFromSelector(_cmd), self); UITouch *touch = [touches anyObject]; CGPoint currentTouchLocation = [self convertTouchToNodeSpace:touch]; CGPoint moveTo = ccpSub(lastTouchLocation, currentTouchLocation); moveTo = ccp(0, moveTo.y*(-1)); CGPoint checkLocation = ccpAdd(self.position, moveTo); if((!headerMarkFlg && checkLocation.y < 0) || (!footerMarkFlg && checkLocation.y > 50-limitSelfSize)){ CCLOG(@"Scroll stoped"); return; } self.position = checkLocation; if(self.position.y < 0){ headerMarkFlg = NO; footerMarkFlg = YES; }else if(self.position.y > 50-limitSelfSize){ headerMarkFlg = YES; footerMarkFlg = NO; }else{ headerMarkFlg = YES; footerMarkFlg = NO; } } @end