void GradientBackground() { if (backGround != null) { backGround.RemoveFromParent(); } // Use the bounds to layout the positioning of our drawable assets CCRect bounds = VisibleBoundsWorldspace; // MUST be power of 2 in order to create a continue effect. // eg: 32x64, 512x128, 256x1024, 64x64, etc.. var textureWidth = bounds.Size.Width.NextPOT(); var textureHeight = bounds.Size.Height.NextPOT(); backGround = new SpriteWithColor(RandomBrightColor(), textureWidth, textureHeight); backGround.AnchorPoint = CCPoint.AnchorLowerLeft; backGround.Position = CCPoint.Zero; AddChild(backGround, -1); }
public override void OnEnter() { spriteSaved = false; base.OnEnter(); var origin = Layer.VisibleBoundsWorldspace.Origin; var size = Layer.VisibleBoundsWorldspace.Size; //MenuItemFont::setFontSize(20); var sprite = new CCSprite("Images/CyanSquare.png"); sprite.Position = origin + size.Center; AddChild(sprite, 10); // Make sprite1 touchable var listener1 = new CCEventListenerTouchOneByOne(); listener1.IsSwallowTouches = true; listener1.OnTouchBegan = (touch, touchEvent) => { var target = (CCSprite)touchEvent.CurrentTarget; var locationInNode = target.Layer.ScreenToWorldspace(touch.LocationOnScreen); var s = target.ContentSize; var rect = new CCRect(0, 0, s.Width, s.Height); if (rect.ContainsPoint(locationInNode)) { CCLog.Log("sprite began... x = {0}, y = {1}", locationInNode.X, locationInNode.Y); target.Opacity = 180; return(true); } return(false); }; listener1.OnTouchMoved = (touch, touchEvent) => { var target = (CCSprite)touchEvent.CurrentTarget; target.Position += touch.Delta; }; listener1.OnTouchEnded = (touch, touchEvent) => { var target = (CCSprite)touchEvent.CurrentTarget; CCLog.Log("sprite onTouchesEnded.. "); target.Opacity = 255; }; sprite.AddEventListener(listener1); RunActions(new CCDelayTime(5.0f), new CCCallFunc(() => { spriteSaved = true; sprite.RemoveFromParent(); }), new CCDelayTime(5.0f), new CCCallFunc(() => { spriteSaved = false; AddChild(sprite); }) ); }
void CheckCollision() { bool hit = false; for (int iBananaCount = 0; iBananaCount < bananaBatch.ChildrenCount; iBananaCount++) { if (bananaBatch.Children [iBananaCount] is CCSprite) { CCSprite banana = (CCSprite)bananaBatch.Children [iBananaCount]; for (int iEnemyCount = 0; iEnemyCount < enemyBatch.ChildrenCount; iEnemyCount++) { if (enemyBatch.Children [iEnemyCount] is CCSprite) { CCSprite enemy = (CCSprite)enemyBatch.Children [iEnemyCount]; hit = banana.BoundingBoxTransformedToParent.IntersectsRect(enemy.BoundingBoxTransformedToParent); if (hit) { hitBananas.Add(banana); Explode(banana.Position); banana.RemoveFromParent(); enemy.RemoveFromParent(); UpdateScore(_EnemyDestroyScore); break; } } if (hit) { break; } } } } foreach (var banana in hitBananas) { visibleBananas.Remove(banana); } for (int iBallCount = 0; iBallCount < ballsBatch.ChildrenCount; iBallCount++) { if (ballsBatch.Children [iBallCount] is CCSprite) { CCSprite ball = (CCSprite)ballsBatch.Children [iBallCount]; if (monkey is CCSprite) { CCSprite enemy = monkey; hit = ball.BoundingBoxTransformedToParent.IntersectsRect(enemy.BoundingBoxTransformedToParent); if (hit) { CCSimpleAudioEngine.SharedEngine.PlayEffect("Sounds/LostLife.wav"); Explode(ball.Position); ball.RemoveFromParent(); PlayerLostLife(); if (!IsPlayerAlive()) { EndGame(); } break; } } } } }
//--------------------------------------------------------------------------------------------------------- // Pop //--------------------------------------------------------------------------------------------------------- // Processes logic for popping a bubble //--------------------------------------------------------------------------------------------------------- public void Pop() { BonusSprite.RemoveFromParent(); }