Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
            })
                       );
        }
Esempio n. 3
0
        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;
                        }
                    }
                }
            }
        }
Esempio n. 4
0
        //---------------------------------------------------------------------------------------------------------
        // Pop
        //---------------------------------------------------------------------------------------------------------
        // Processes logic for popping a bubble
        //---------------------------------------------------------------------------------------------------------

        public void Pop()
        {
            BonusSprite.RemoveFromParent();
        }