Cannot "trail" a sprite?

Hi

I am fairly new to the framework so let me know if my whole approach is wrong here. I have read quite a bit of the docs and the very nice and new programmer’s guide, but don’t have much experience with games development.

My question is regarding sprite/node tracking and positioning, this seems to be something I should be able to easily do, but perhaps I’m understanding some concept or API call wrong…

So I have a green sprite (see http://tinypic.com/r/vqjnyf/8) which is at the top right of the pic. It has moved there from the left using some repeated action. This part works well. But as the sprite looked quite bland, I wanted to add some kind of “trail” to it. So I tried creating a motion streak and upon every tick, track the sprite and set the motion streak pos (via setPositionX, setPositionY) to whatever the position of the greenSprite is (via getPositionX, getPositionY).

However the motion streak seems to trail the sprite in the X coordinate, and be lower than it in the Y coordinate. I would expect the edge of the streak to be right on the sprite, as they have the same position.
What could I be missing here? (Is a motion streak a good control for creating this kind of “trail” effect in the first place?)

I also tried this positioning code which I found in a demo, but it didn’t work either:

void GreenLayer::onTickUpdate(float delta) {
streak->setPosition(greenSprite->convertToWorldSpace(Vec2::ZERO));
}

This is the streak initialisation code:

streak = MotionStreak::create(2, 3, 32, Color3B::GREEN, Director::getInstance()->getTextureCache()->getTextureForKey(GREEN_SPRITE_FILENAME));
streak->setFastMode(false);
streak->setAnchorPoint(Vec2::ZERO);
streak->setPositionX(0);
streak->setPositionY(0);
this->addChild(streak, 1);
// schedule an update on each frame so we can syncronize the streak with the target
this->schedule(schedule_selector(GreenLayer::onTickUpdate));

auto colorAction = RepeatForever::create(Sequence::create(
	TintTo::create(0.2f, 255, 0, 0),
	TintTo::create(0.2f, 0, 255, 0),
	TintTo::create(0.2f, 0, 0, 255),
	TintTo::create(0.2f, 0, 255, 255),
	TintTo::create(0.2f, 255, 255, 0),
	TintTo::create(0.2f, 255, 0, 255),
	TintTo::create(0.2f, 255, 255, 255),
	nullptr));

streak->runAction(colorAction);