cocos2d iPhoneで、Layerを使って、タップの移動量によりスクロールさせようとすると、移動量に比例して黒い四角が表示される件

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.119992",
@"2002814",
@"",
@"",
@"",
@"",
@"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
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX