示例#1
0
        public Layer3()
            : base(new ccColor4B (0,0,255,255))
        {
            CGSize s = CCDirector.SharedDirector ().WinSize ();
            CCMenuItemFont item0 = new CCMenuItemFont("Touch to pushScene (self)", delegate {
                CCScene newScene = new CCScene();
                newScene.AddChild (new Layer3 ());
                CCDirector.SharedDirector ().PushScene (new CCTransitionFade (0.5f, newScene, new ccColor3B (0, 255, 255)));
            });

            CCMenuItemFont item1 = new CCMenuItemFont("Touch to popScene", delegate {
                CCDirector.SharedDirector ().PopScene ();
            });

            CCMenuItemFont item2 = new CCMenuItemFont("Touch to popToRootScene", delegate {
                CCDirector.SharedDirector ().PopToRootScene ();
            });

            CCMenu menu = new CCMenu(item0, item1, item2);
            this.AddChild (menu);
            menu.AlignItemsVertically ();

            CCSprite sprite = new CCSprite("grossini.png", true);
            this.AddChild (sprite);
            sprite.Position = new CCPoint(s.Width / 2, 40);
            var rotate = new CCRotateBy (2, 360);
            var repeat = new CCRepeatForever (rotate);
            sprite.RunAction (repeat);
        }
示例#2
0
 CCSprite spriteWithSpriteFrame(CCSpriteFrame frame, bool forward)
 {
     CCSprite sel = new CCSprite(frame);
     if (sel != null)
     {
         RunAction(new CCMoveBy(0.8f, new CCPoint((forward) ? 600 : -600, 0)));
     }
     return sel;
 }
        public MainLayer()
        {
            rnd = new Random();
            var batchnode = new CCSpriteBatchNode("Images/sprites.png",10);
            Add (batchnode, -1, (int)Tags.SpriteManager);

            var background = new CCSprite(batchnode.Texture, new RectangleF(0,0,320,480)) {Position = new PointF (160,240)};
            batchnode.Add (background);
        }
示例#4
0
 public Tank()
 {
     s1 = new CCSprite(CCApplication.SharedApplication.SpriteFrameCache["Image 320 at frame 10.png"]);
     s2 = new CCSprite(CCApplication.SharedApplication.SpriteFrameCache["Image 321 at frame 10.png"]);
     s4 = new CCSprite(CCApplication.SharedApplication.SpriteFrameCache["Image 323 at frame 10.png"]);
     s1.Position = new CCPoint(0, -10);
     s2.Position = new CCPoint(0, 0);
     s4.Position = new CCPoint(-15, 18);
     AddChild(s1);
     AddChild(s2);
     AddChild(s4);
 }
示例#5
0
        public Graphic(DefineGraphic define){
			_define = define;
			if(_define.className != null)
				_view = new CCSprite(string.Format("{0}_{1}.png", define.flash.prefix, _define.className));
			else
				_view = new CCSprite(string.Format("{0}_ID{1}.png", define.flash.prefix, _define.characterId));
			_view.cascadeColorEnabled = true;
			_view.cascadeOpacityEnabled = true;
			_view.anchorPoint = _define.anchorPoint;
			_view.gameObject.name = define.characterId.ToString();
			_view.opacityModifyRGB = false;
        }
示例#6
0
        public void TankFire(float t)
        {
            Console.WriteLine("Shoot");
            CCSprite bullet = new CCSprite(CCApplication.SharedApplication.SpriteFrameCache["Image 904 at frame 10.png"]);
            CCLayer layer = (CCLayer)GetChildByTag(2); //[self.parent.parent getChildByTag:2];

            CCPoint hp = Position;
            CCPoint sp = Parent.Position;
            CCPoint position = new CCPoint(hp.X + sp.X - 80, hp.Y + sp.Y + 25);

            bullet.Position = position;
            layer.AddChild(bullet, 2);
            bullet.Tag = 851137;
            bullet.RunAction(new CCMoveBy(1.5f, new CCPoint(-400, 0)));
        }
示例#7
0
        public Truck()
        {
            //[self setTextureRect:CGRectMake(0, 0, 308, 185)];
            caster1 = new CCSprite(CCApplication.SharedApplication.SpriteFrameCache["Image 906 at frame 10.png"]);
            caster1.Position = new CCPoint(50, -38);
            caster2 = new CCSprite(CCApplication.SharedApplication.SpriteFrameCache["Image 906 at frame 10.png"]);
            caster2.Position = new CCPoint(-63, -38);

            CCSpriteFrame fc1 = CCApplication.SharedApplication.SpriteFrameCache["Image 904 at frame 10.png"];
            CCSpriteFrame fc2 = CCApplication.SharedApplication.SpriteFrameCache["Image 904 at frame 10.png"];
            CCSpriteFrame fc3 = CCApplication.SharedApplication.SpriteFrameCache["Image 904 at frame 10.png"];

            var curtainanimation = new CCAnimation(new List<CCSpriteFrame>() { fc1, fc2, fc3 }, 0.2f);

            var curtainaction1 = new CCRepeatForever(new CCAnimate(curtainanimation));
            var curtainaction2 = new CCRepeatForever(new CCAnimate(curtainanimation));
            var curtainaction3 = new CCRepeatForever(new CCAnimate(curtainanimation));

            curtain1 = new CCSprite(fc1);
            curtain2 = new CCSprite(fc1);
            curtain3 = new CCSprite(fc1);
            curtain1.Position = new CCPoint(-10, -5);
            curtain2.Position = new CCPoint(-40, -5);
            curtain3.Position = new CCPoint(-70, -5);

            head = new CCSprite(CCApplication.SharedApplication.SpriteFrameCache["Image 907 at frame 10.png"]);
            body = new CCSprite(CCApplication.SharedApplication.SpriteFrameCache["Image 915 at frame 10.png"]);
            body.Position = new CCPoint(-8, 5);
            door = new CCSprite(CCApplication.SharedApplication.SpriteFrameCache["Image 908 at frame 10.png"]);
            door.Position = new CCPoint(50, -5);
            light = new CCSprite(CCApplication.SharedApplication.SpriteFrameCache["Image 909 at frame 10.png"]);
            light.Position = new CCPoint(165, -30);

            AddChild(caster1);
            AddChild(caster2);
            AddChild(head);
            AddChild(curtain1);
            RunAction(curtainaction1);
            AddChild(curtain2);
            RunAction(curtainaction2);
            AddChild(curtain3);
            RunAction(curtainaction3);

            AddChild(body);
            AddChild(door);
            AddChild(light);
        }
示例#8
0
        public CCMenuItemImage(string normalImage, string selectedImage, string disabledImage, SEL_MenuHandler selector)
            : base(selector)
        {
            if (!string.IsNullOrEmpty(normalImage))
            {
                NormalImage = new CCSprite(normalImage);
            }

            if (!string.IsNullOrEmpty(selectedImage))
            {
                SelectedImage = new CCSprite(selectedImage);
            }

            if (!string.IsNullOrEmpty(disabledImage))
            {
                DisabledImage = new CCSprite(disabledImage);
            }
        }
        public HighScoreLayer(int score)
            : base()
        {
            var batchnode = GetChild ((int)Tags.SpriteManager) as CCSpriteBatchNode;
            var title = new CCSprite (batchnode.Texture, new CGRect (608, 192, 225, 57)) { Position = new CGPoint (160, 240) };
            batchnode.Add (title);

            var button1 = new CCMenuItemImage ("Images/playAgainButton.png", "Images/playAgainButton.png", (sender) => {
                CCDirector.SharedDirector.ReplaceScene (new CCTransitionFade (.5f, GameLayer.Scene, CCColor3B.White));
            });
            var button2 = new CCMenuItemImage ("Images/changePlayerButton.png", "Images/changePlayerButton.png", (sender) => {

            });
            var menu = new CCMenu (new CCMenuItem[] { button1, button2 }) { Position = new CGPoint (160, 58) };
            menu.AlignItemsVertically (9);

            Add (menu);
        }
示例#10
0
        public override void OnEnter()
        {
            base.OnEnter ();

            CCSprite background;
            var size = CCDirector.SharedDirector.WinSize;
            if (UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Phone) {
                background = new CCSprite ("Default.png");
                background.Rotation = 90;
            } else
                background = new CCSprite ("Default-Landscape~ipad.png");
            background.Position = new CoreGraphics.CGPoint (size.Width / 2, size.Height / 2);
            Add (background);

            ScheduleOnce ((timer) => {
                CCDirector.SharedDirector.ReplaceScene (new CCTransitionTurnOffTiles (1f, HelloWorldLayer.Scene));
            }, 1f);
        }
示例#11
0
        public Layer1()
            : base(new ccColor4B (0, 255, 0, 255))
        {
            CCMenuItemFont item1 = new CCMenuItemFont("Test pushScene", OnPushScene);
            CCMenuItemFont item2 = new CCMenuItemFont("Test pushScene w/transition", OnPushSceneTran);
            CCMenuItemFont item3 = new CCMenuItemFont("Quit", OnQuit);

            CCMenu menu = new CCMenu(item1, item2, item3);
            menu.AlignItemsVertically ();
            this.AddChild (menu);

            CGSize s = CCDirector.SharedDirector ().WinSize ();
            CCSprite sprite = new CCSprite("grossini.png", true);
            this.AddChild (sprite);
            sprite.Position = new CCPoint(s.Width-40, s.Height/2);
            var rotate = new CCRotateBy (2, 360);
            var repeat = new CCRepeatForever (rotate);
            sprite.RunAction (repeat);

            this.Schedule (new MonoMac.ObjCRuntime.Selector ("testDealloc:"));
        }
        public GameLayer()
        {
            gameSuspended = true;
            var batchnode = GetChild((int)Tags.SpriteManager) as CCSpriteBatchNode;

            InitPlatforms ();

            var bird = new CCSprite(batchnode.Texture, new RectangleF(608,16,44,32));
            batchnode.Add (bird,4,(int)Tags.Bird);

            CCSprite bonus;

            for(int i=0; i<(int)Bonus.NumBonuses; i++) {
                bonus = new CCSprite(batchnode.Texture, new RectangleF(608+i*32,256,25,25));
                batchnode.Add(bonus,4,(int)Tags.BomusStart+i);
                bonus.Visible = false;
            }

            var scoreLabel = new CCLabelBMFont("0", "Fonts/bitmapFont.fnt") {Position = new PointF(160,430)};
            Add(scoreLabel, 5, (int)Tags.ScoreLabel);
        }
示例#13
0
        public Layer3()
        {
            CCMenuItemFont.DefaultFontName = "Marker Felt";
            CCMenuItemFont.DefaultFontSize = 28;

            CCLabelBMFont label = new CCLabelBMFont("Enable AtlasItem", "bitmapFontTest3.fnt");
            CCMenuItemLabel item1 = new CCMenuItemLabel(label, this, new MonoMac.ObjCRuntime.Selector("menuCallback2:"));
            CCMenuItemFont item2 = new CCMenuItemFont("--- Go Back ---", this, new MonoMac.ObjCRuntime.Selector("menuCallback:"));

            CCSprite spriteNormal = new CCSprite ("menuitemsprite.png", new RectangleF (0, 23 * 2, 115, 23));
            CCSprite spriteSelected = new CCSprite ("menuitemsprite.png", new RectangleF (0, 23 * 1, 115, 23));
            CCSprite spriteDisabled = new CCSprite ("menuitemsprite.png", new RectangleF (0, 23 * 0, 115, 23));

            CCMenuItemSprite item3 = new CCMenuItemSprite (spriteNormal, spriteSelected, spriteDisabled, this, new MonoMac.ObjCRuntime.Selector("menuCallback3:"));
            disabledItem = item3;
            disabledItem.Enabled = false;

            NSArray arrayOfItems = NSArray.FromObjects(item1, item2, item3);
            CCMenu menu = new CCMenu(arrayOfItems);

            CGSize s = CCDirector.SharedDirector().WinSize ();

            item1.Position = new CCPoint(s.Width/2 - 150, s.Height/2);
            item2.Position = new CCPoint(s.Width/2 - 200, s.Height/2);
            item3.Position = new CCPoint(s.Width/2, s.Height/2 - 100);

            var jump = new CCJumpBy(3, new CCPoint(400,0), 50, 4);
            item2.RunAction (new CCRepeatForever ((CCActionInterval)CCSequence.Actions (jump, jump.Reverse ())));
            var spin1 = new CCRotateBy (3, 360);
            var spin2 = (CCRotateBy)spin1.Copy ();
            var spin3 = (CCRotateBy)spin1.Copy ();

            item1.RunAction (new CCRepeatForever (spin1));
            item2.RunAction (new CCRepeatForever (spin2));
            item3.RunAction (new CCRepeatForever (spin3));

            this.AddChild (menu);
            menu.Position = new CCPoint(0, 0);
        }
        public QuestionContainerSprite()
        {
            //Add label
            var label = new CCLabel("Answer 1", "arial", 12, CCLabelFormat.SpriteFont);

            label.Tag = 100;

            //Add the background
            CCSize   size   = Layer.VisibleBoundsWorldspace.Size;
            CCSprite corner = new CCSprite("Images/bugs/corner");

            int width  = (int)(size.Width * 0.9f - (corner.ContentSize.Width * 2));
            int height = (int)(size.Height * 0.15f - (corner.ContentSize.Height * 2));
            //CCLayerColor layer = CCLayerColor.layerWithColorWidthHeight(new ccColor4B(r = 255, g = 255, b = 255, a = 255 * 0.75), width, height);
            //layer.position = new CCPoint(-width / 2, -height / 2);

            //First button is blue,
            //Second is red
            //Used for testing - change later
            int a = 0;

            if (a == 0)
            {
                label.Color = new CCColor3B(0, 0, 255); //ccBLUE
            }
            else
            {
                CCLog.Log("Color changed");
                label.Color = new CCColor3B(255, 0, 0);
            }
            a++;
            //addChild(layer);

            corner.Position = new CCPoint(-(width / 2 + corner.ContentSize.Width / 2), -(height / 2 + corner.ContentSize.Height / 2));
            AddChild(corner);

            CCSprite corner2 = new CCSprite("Images/bugs/corner");

            corner2.Position = new CCPoint(-corner.Position.X, corner.Position.Y);
            corner2.FlipX    = true;
            AddChild(corner2);

            CCSprite corner3 = new CCSprite("Images/bugs/corner");

            corner3.Position = new CCPoint(corner.Position.X, -corner.Position.Y);
            corner3.FlipY    = true;
            AddChild(corner3);

            CCSprite corner4 = new CCSprite("Images/bugs/corner");

            corner4.Position = new CCPoint(corner2.Position.X, -corner2.Position.Y);
            corner4.FlipX    = true;
            corner4.FlipY    = true;
            AddChild(corner4);

            CCSprite edge = new CCSprite("Images/bugs/edge");

            edge.ScaleX   = width;
            edge.Position = new CCPoint(corner.Position.X + (corner.ContentSize.Width / 2) + (width / 2), corner.Position.Y);
            AddChild(edge);

            CCSprite edge2 = new CCSprite("Images/bugs/edge");

            edge2.ScaleX   = width;
            edge2.Position = new CCPoint(corner.Position.X + (corner.ContentSize.Width / 2) + (width / 2), -corner.Position.Y);
            edge2.FlipX    = true;
            AddChild(edge2);

            CCSprite edge3 = new CCSprite("Images/bugs/edge");

            edge3.Rotation = 90;
            edge3.ScaleX   = height;
            edge3.Position = new CCPoint(corner.Position.X, corner.Position.Y + (corner.ContentSize.Height / 2) + (height / 2));
            AddChild(edge3);

            CCSprite edge4 = new CCSprite("Images/bugs/edge");

            edge4.Rotation = 270;
            edge4.ScaleX   = height;
            edge4.Position = new CCPoint(-corner.Position.X, corner.Position.Y + (corner.ContentSize.Height / 2) + (height / 2));
            AddChild(edge4);

            AddChild(label);
        }
示例#15
0
 public CollidableItem(CCSprite Sprite)
 {
     this.Sprite = Sprite;
 }
示例#16
0
        void InitPlatform()
        {
            RectangleF rect;
            switch(rnd.Next()%2) {
            case 0:
                rect = new RectangleF(608,64,102,36);
                break;
            default:
                rect = new RectangleF(608,128,90,32);
                break;
            }

            var batchnode = GetChild((int)Tags.SpriteManager) as CCSpriteBatchNode;
            var platform = new CCSprite(batchnode.Texture, rect);
            batchnode.Add(platform,3,currentPlatformTag);
        }
示例#17
0
        protected override void AddedToScene()
        {
            base.AddedToScene();

            screenSize = Window.WindowSizeInPixels;

            CCPoint menu1Position;
            CCPoint menu2Position;

            menuBackgroundName = "menu_background";
            //will use "menu_background.png" for non-Retina Phones
            //will use   "menu_background-hd.png"; for retina phones
            //will use "menu_background-ipad.png";

            //same goes for images below..

            lvlButtonName1       = "levelButton1";
            lvlLockedButtonName1 = "levelButton1_locked";

            lvlButtonName2       = "levelButton2";
            lvlLockedButtonName2 = "levelButton2_locked";

            lvlButtonName3       = "levelButton3";
            lvlLockedButtonName3 = "levelButton3_locked";

            lvlButtonName4       = "levelButton4";
            lvlLockedButtonName4 = "levelButton4_locked";

            lvlButtonName5       = "levelButton5";
            lvlLockedButtonName5 = "levelButton5_locked";

            lvlButtonName6       = "levelButton6";
            lvlLockedButtonName6 = "levelButton6_locked";

            lvlButtonName7       = "levelButton7";
            lvlLockedButtonName7 = "levelButton7_locked";

            lvlButtonName8       = "levelButton8";
            lvlLockedButtonName8 = "levelButton8_locked";

            lvlButtonName9       = "levelButton9";
            lvlLockedButtonName9 = "levelButton9_locked";

            lvlButtonName10       = "levelButton10";
            lvlLockedButtonName10 = "levelButton10_locked";

            voiceButtonName    = "voiceFX";
            voiceButtonNameDim = "voiceFX_dim";

            soundButtonName    = "soundFX";
            soundButtonNameDim = "soundFX_dim";

            ambientButtonName    = "ambientFX";
            ambientButtonNameDim = "ambientFX_dim";

            if (TheLevel.SharedLevel.IS_IPAD)
            {
                //iPADs..
                menu1Position = new CCPoint(screenSize.Width / 2, 430);
                menu2Position = new CCPoint(screenSize.Width / 2, 290);

                SoundFXMenuLocation   = new CCPoint(240, 170);
                VoiceFXMenuLocation   = new CCPoint(480, 170);
                AmbientFXMenuLocation = new CCPoint(750, 170);
                //if( ! CCDirector.SharedDirector.enableRetinaDisplay ) {
                CCLog.Log("must be iPad 1 or 2");
                //change nothing
                //} else {
                CCLog.Log("retina display is on-must be iPAd 3");
                //change files names for iPad 3

                menuBackgroundName = "menu_background-ipad";                  //will use @"menu_background-ipad-hd";

                lvlButtonName1       = "levelButton1-ipad";
                lvlLockedButtonName1 = "levelButton1_locked-ipad";

                lvlButtonName2       = "levelButton2-ipad";
                lvlLockedButtonName2 = "levelButton2_locked-ipad";

                lvlButtonName3       = "levelButton3-ipad";
                lvlLockedButtonName3 = "levelButton3_locked-ipad";

                lvlButtonName4       = "levelButton4-ipad";
                lvlLockedButtonName4 = "levelButton4_locked-ipad";

                lvlButtonName5       = "levelButton5-ipad";
                lvlLockedButtonName5 = "levelButton5_locked-ipad";

                lvlButtonName6       = "levelButton6-ipad";
                lvlLockedButtonName6 = "levelButton6_locked-ipad";

                lvlButtonName7       = "levelButton7-ipad";
                lvlLockedButtonName7 = "levelButton7_locked-ipad";

                lvlButtonName8       = "levelButton8-ipad";
                lvlLockedButtonName8 = "levelButton8_locked-ipad";

                lvlButtonName9       = "levelButton9-ipad";
                lvlLockedButtonName9 = "levelButton9_locked-ipad";

                lvlButtonName10       = "levelButton10-ipad";
                lvlLockedButtonName10 = "levelButton10_locked-ipad";

                voiceButtonName    = "voiceFX-ipad";
                voiceButtonNameDim = "voiceFX_dim-ipad";

                soundButtonName    = "soundFX-ipad";
                soundButtonNameDim = "soundFX_dim-ipad";

                ambientButtonName    = "ambientFX-ipad";
                ambientButtonNameDim = "ambientFX_dim-ipad";
            }
            else
            {
                //IPHONES..
                menu1Position = new CCPoint(screenSize.Width / 2, 185);
                menu2Position = new CCPoint(screenSize.Width / 2, 115);

                SoundFXMenuLocation   = new CCPoint(110, 55);
                VoiceFXMenuLocation   = new CCPoint(230, 55);
                AmbientFXMenuLocation = new CCPoint(355, 55);
            }

            var theBackground = new CCSprite(menuBackgroundName);

            theBackground.Position = new CCPoint(screenSize.Width / 2, screenSize.Height / 2);
            AddChild(theBackground, 0);

            //TouchEnabled = true;

            CCMenuItem button1;
            CCMenuItem button2;
            CCMenuItem button3;
            CCMenuItem button4;
            CCMenuItem button5;
            CCMenuItem button6;
            CCMenuItem button7;
            CCMenuItem button8;
            CCMenuItem button9;
            CCMenuItem button10;

            button1 = new CCMenuItemImage(lvlButtonName1, lvlButtonName1, GoToFirstLevelSection1);

            if (GameData.SharedData.CanYouGoToTheFirstLevelOfThisSection(2) == false)
            {
                button2 = new CCMenuItemImage(lvlLockedButtonName2, lvlLockedButtonName2, PlayNegativeSound);
            }
            else
            {
                button2 = new CCMenuItemImage(lvlButtonName2, lvlButtonName2, GoToFirstLevelSection2);
            }

            if (GameData.SharedData.CanYouGoToTheFirstLevelOfThisSection(3) == false)
            {
                button3 = new CCMenuItemImage(lvlLockedButtonName3, lvlLockedButtonName3, PlayNegativeSound);
            }
            else
            {
                button3 = new CCMenuItemImage(lvlButtonName3, lvlButtonName3, GoToFirstLevelSection3);
            }

            if (GameData.SharedData.CanYouGoToTheFirstLevelOfThisSection(4) == false)
            {
                button4 = new CCMenuItemImage(lvlLockedButtonName4, lvlLockedButtonName4, PlayNegativeSound);
            }
            else
            {
                button4 = new CCMenuItemImage(lvlButtonName4, lvlButtonName4, GoToFirstLevelSection4);
            }

            if (GameData.SharedData.CanYouGoToTheFirstLevelOfThisSection(5) == false)
            {
                button5 = new CCMenuItemImage(lvlLockedButtonName5, lvlLockedButtonName5, PlayNegativeSound);
            }
            else
            {
                button5 = new CCMenuItemImage(lvlButtonName5, lvlButtonName5, GoToFirstLevelSection5);
            }

            if (GameData.SharedData.CanYouGoToTheFirstLevelOfThisSection(6) == false)
            {
                button6 = new CCMenuItemImage(lvlLockedButtonName6, lvlLockedButtonName6, PlayNegativeSound);
            }
            else
            {
                button6 = new CCMenuItemImage(lvlButtonName6, lvlButtonName6, GoToFirstLevelSection6);
            }

            if (GameData.SharedData.CanYouGoToTheFirstLevelOfThisSection(7) == false)
            {
                button7 = new CCMenuItemImage(lvlLockedButtonName7, lvlLockedButtonName7, PlayNegativeSound);
            }
            else
            {
                button7 = new CCMenuItemImage(lvlButtonName7, lvlButtonName7, GoToFirstLevelSection7);
            }

            if (GameData.SharedData.CanYouGoToTheFirstLevelOfThisSection(8) == false)
            {
                button8 = new CCMenuItemImage(lvlLockedButtonName8, lvlLockedButtonName8, PlayNegativeSound);
            }
            else
            {
                button8 = new CCMenuItemImage(lvlButtonName8, lvlButtonName8, GoToFirstLevelSection8);
            }

            if (GameData.SharedData.CanYouGoToTheFirstLevelOfThisSection(9) == false)
            {
                button9 = new CCMenuItemImage(lvlLockedButtonName9, lvlLockedButtonName9, PlayNegativeSound);
            }
            else
            {
                button9 = new CCMenuItemImage(lvlButtonName9, lvlButtonName9, GoToFirstLevelSection9);
            }

            if (GameData.SharedData.CanYouGoToTheFirstLevelOfThisSection(10) == false)
            {
                button10 = new CCMenuItemImage(lvlLockedButtonName10, lvlLockedButtonName10, PlayNegativeSound);
            }
            else
            {
                button10 = new CCMenuItemImage(lvlButtonName10, lvlButtonName10, GoToFirstLevelSection10);
            }

            CCMenu Menu = new CCMenu(button1, button2, button3, button4, button5);

            Menu.Position = menu1Position;

            Menu.AlignItemsHorizontally(10);
            AddChild(Menu, 1);

            CCMenu Menu2 = new CCMenu(button6, button7, button8, button9, button10);

            Menu2.Position = menu2Position;
            Menu2.AlignItemsHorizontally(10);
            AddChild(Menu2, 1);

            IsSoundFXMenuItemActive = !GameData.SharedData.AreSoundFXMuted;
            IsVoiceFXMenuActive     = !GameData.SharedData.AreVoiceFXMuted;
            IsAmbientFXMenuActive   = !GameData.SharedData.AreAmbientFXMuted;
        }
示例#18
0
 public CharacterModel(String str, String part) : base()
 {
     sprite          = new CCSprite(str + part + ".png");
     sprite_shielded = new CCSprite("shielded_" + str + part + ".png");
     this.AddChild(sprite);
 }
 public CCScale9Sprite(CCSprite sprite, CCRect rect, CCRect capInsets)
     : this(sprite, rect, false, capInsets)
 {
 }
示例#20
0
 public void SetNormalSpriteFrame(CCSpriteFrame frame)
 {
     NormalImage = new CCSprite(frame);
 }
示例#21
0
 public void SetSelectedSpriteFrame(CCSpriteFrame frame)
 {
     SelectedImage = new CCSprite(frame);
 }
示例#22
0
 public void SetDisabledSpriteFrame(CCSpriteFrame frame)
 {
     DisabledImage = new CCSprite(frame);
 }
示例#23
0
        public MenuTest()
        {
            CCDirector director = CCDirector.SharedDirector ();
            SizeF size = director.WinSize ();
            CCMenu menu = null;

            CCSprite spriteNormal = new CCSprite ("menuitemsprite.png", new RectangleF (0, 23 * 2, 115, 23));
            CCSprite spriteSelected = new CCSprite ("menuitemsprite.png", new RectangleF (0, 23 * 1, 115, 23));
            CCSprite spriteDisabled = new CCSprite ("menuitemsprite.png", new RectangleF (0, 23 * 0, 115, 23));
            CCMenuItemSprite item1 = new CCMenuItemSprite (spriteNormal, spriteSelected, spriteDisabled,
                delegate (NSObject sender) {
                CCScene scene1 = new CCScene ();
                scene1.AddChild (Layer2.Node());
                CCDirector.SharedDirector ().ReplaceScene (scene1);
            });

            CCMenuItemImage item2 = new CCMenuItemImage ("SendScoreButton.png", "SendScoreButtonPressed.png", null, cb);

            CCLabelAtlas labelAtlas = new CCLabelAtlas ("0123456789", "fps_images.png", 12, 32, '.');
            CCMenuItemLabel item3 = new CCMenuItemLabel(labelAtlas,
                delegate (NSObject sender) {
                CCDirector.SharedDirector ().EventDispatcher.AddMouseDelegate (this, -128-1);
                this.Schedule (new MonoMac.ObjCRuntime.Selector ("allowTouches"), 5.0f);
            });

            item3.DisabledColor = new ccColor3B (32, 32, 64);
            item3.Color = new ccColor3B (200, 200, 255);
            disabledItem = item3;

            CCMenuItemFont item4 = new CCMenuItemFont ("I toggle enabled items",
                delegate {
                disabledItem.Enabled = !disabledItem.Enabled;
            }
            );
            item4.FontSize = 20;
            item4.FontName = "Marker Felt";

            CCLabelBMFont label = new CCLabelBMFont ("configuration", "bitmapFontTest3.fnt");
            CCMenuItemLabel item5 = new CCMenuItemLabel (label,
                delegate {
                CCScene scene = new CCScene ();
                scene.AddChild (new Layer4 ());
                CCDirector.SharedDirector ().ReplaceScene (scene);
            });
            item5.Scale = 0.8f;

            CCMenuItemFont.DefaultFontName = "Marker Felt";
            CCMenuItemFont item6 = new CCMenuItemFont ("Priority Test",
                delegate (NSObject sender) {
                CCScene scene = new CCScene();
                scene.AddChild (new LayerPriorityTest());
                CCDirector.SharedDirector ().PushScene (scene);
            });

            CCMenuItemFont.DefaultFontName = "Courier New";
            CCMenuItemFont.DefaultFontSize = 30;
            CCMenuItemFont item7 = new CCMenuItemFont ("Quit",
                delegate {
                director.View.Window.Close ();
            });

            CCTintBy color_action = new CCTintBy(0.5f, 0, -255, -255);
            var color_back = color_action.Reverse ();
            var seq = new CCSequence (color_action, color_back);
            item7.RunAction (new CCRepeatForever (seq));

            menu = new CCMenu (item1, item2, item3, item4, item5, item6, item7);
            menu.AlignItemsVertically ();

            for (uint i = 0; i < menu.Children.Count(); i++) {
                CCNode child = (CCNode)menu.Children.ObjectAtIndex(i);
                PointF dstPoint = child.Position;
                int offset = (int)(size.Width/2) + 50;
                if (i % 2 == 0)
                    offset = -offset;
                child.Position = new PointF(dstPoint.X + offset, dstPoint.Y);
                child.RunAction(new CCEaseElasticOut(
                    new CCMoveBy(2, new PointF(dstPoint.X - offset, 0)), 0.35f));
            }

            menu.Position = new PointF(size.Width/2, size.Height/2);
            this.AddChild(menu);
        }
 public bool UpdateWithSprite(CCSprite sprite, CCRect rect, bool rotated, CCRect capInsets)
 {
     return UpdateWithSprite(sprite, rect, rotated, CCPoint.Zero, rect.Size, capInsets);
 }
示例#25
0
 public Bullet(MovingObject target, int power, float v) : base(target, power, v)
 {
     sprite = new CCSprite("ebullet.png");
 }
示例#26
0
        public void createGameScreen()
        {
            CCSprite bg = new CCSprite("bg.png");

            bg.Position = new CCPoint(_screenSize.Width * 0.5f, _screenSize.Height * 0.5f);
            AddChild(bg, kBackground);

            _lineContainer = LineContainer.Create();
            AddChild(_lineContainer);


            CCSpriteFrameCache.SharedSpriteFrameCache.AddSpriteFrames("sprite_sheet.plist");
            _gameBatchNode = new CCSpriteBatchNode("sprite_sheet.png", 100);

            AddChild(_gameBatchNode, kForeground);

            _rocket          = Rocket.Create();
            _rocket.Position = new CCPoint(_screenSize.Width * 0.5f, _screenSize.Height * 0.1f);
            _gameBatchNode.AddChild(_rocket, kForeground, kSpriteRocket);

            //add planets
            GameSprite planet;

            _planets = new List <GameSprite>();
            // _planets->retain();

            planet          = new GameSprite("planet_1.png");
            planet.Position = new CCPoint(_screenSize.Width * 0.25f,
                                          _screenSize.Height * 0.8f);

            _gameBatchNode.AddChild(planet, kBackground, kSpritePlanet);
            _planets.Add(planet);

            planet          = new GameSprite("planet_2.png");
            planet.Position = new CCPoint(_screenSize.Width * 0.8f,
                                          _screenSize.Height * 0.45f);
            _gameBatchNode.AddChild(planet, kBackground, kSpritePlanet);
            _planets.Add(planet);

            planet          = new GameSprite("planet_3.png");
            planet.Position = new CCPoint(_screenSize.Width * 0.75f,
                                          _screenSize.Height * 0.8f);
            _gameBatchNode.AddChild(planet, kBackground, kSpritePlanet);
            _planets.Add(planet);

            planet          = new GameSprite("planet_4.png");
            planet.Position = new CCPoint(_screenSize.Width * 0.5f,
                                          _screenSize.Height * 0.5f);
            _gameBatchNode.AddChild(planet, kBackground, kSpritePlanet);
            _planets.Add(planet);

            planet          = new GameSprite("planet_5.png");
            planet.Position = new CCPoint(_screenSize.Width * 0.18f,
                                          _screenSize.Height * 0.45f);
            _gameBatchNode.AddChild(planet, kBackground, kSpritePlanet);
            _planets.Add(planet);

            planet          = new GameSprite("planet_6.png");
            planet.Position = new CCPoint(_screenSize.Width * 0.8f,
                                          _screenSize.Height * 0.15f);
            _gameBatchNode.AddChild(planet, kBackground, kSpritePlanet);
            _planets.Add(planet);

            planet          = new GameSprite("planet_7.png");
            planet.Position = new CCPoint(_screenSize.Width * 0.18f,
                                          _screenSize.Height * 0.1f);
            _gameBatchNode.AddChild(planet, kBackground, kSpritePlanet);
            _planets.Add(planet);

            CCSprite scoreLabel = new GameSprite("label_score.png");

            scoreLabel.Position = new CCPoint(_screenSize.Width * 0.4f, _screenSize.Height * 0.95f);
            _gameBatchNode.AddChild(scoreLabel, kBackground);

            _scoreDisplay = new CCLabelTtf("0", "MarkerFelt", 22);

            _scoreDisplay.AnchorPoint = new CCPoint(0, 0.5f);
            _scoreDisplay.Position    = new CCPoint(_screenSize.Width * 0.48f, _screenSize.Height * 0.95f);
            AddChild(_scoreDisplay, kBackground);

            _pauseBtn          = new GameSprite("btn_pause_off.png");
            _pauseBtn.Visible  = false;
            _pauseBtn.Position = new CCPoint(_screenSize.Width * 0.06f, _screenSize.Height * 0.95f);
            _gameBatchNode.AddChild(_pauseBtn, kBackground);


            _intro          = new GameSprite("logo.png");
            _intro.Position = new CCPoint(_screenSize.Width * 0.5f, _screenSize.Height * 0.55f);
            CCSprite play = new CCSprite("label_play.png");

            play.Position = new CCPoint(_intro.BoundingBox.Size.Width * 0.5f, -_intro.BoundingBox.Size.Height * 0.5f);
            _intro.AddChild(play);
            _gameBatchNode.AddChild(_intro, kForeground);

            _gameOver          = new GameSprite("gameOver.png");
            _gameOver.Position = new CCPoint(_screenSize.Width * 0.5f, _screenSize.Height * 0.55f);
            _gameOver.Visible  = false;
            _gameBatchNode.AddChild(_gameOver, kForeground);

            _paused          = new GameSprite("label_paused.png");
            _paused.Position = new CCPoint(_screenSize.Width * 0.5f, _screenSize.Height * 0.55f);
            _paused.Visible  = false;
            _gameBatchNode.AddChild(_paused, kForeground);
        }
示例#27
0
 public override void doTest(CCSprite sprite)
 {
     performanceout20(sprite);
 }
示例#28
0
 public override void doTest(CCSprite sprite)
 {
     performanceActions20(sprite);
 }
示例#29
0
        public TextLayer()
            : base()
        {
            SizeF s = CCDirector.SharedDirector ().WinSize ();
            float x = s.Width;
            float y = s.Height;

            CCNode node = new CCNode ();
            CCAction effectClass = RestartAction (3f);
            node.RunAction (effectClass);
            this.AddChild (node, 0, (int)EffectLayers.kTagBackground);

            CCSprite bg = new CCSprite ("background3.png", true);
            node.AddChild (bg, 0);
            bg.Position = new PointF(x/2, y/2);

            CCSprite grossini = new CCSprite ("grossinis_sister2.png", true);
            node.AddChild (grossini, 1);
            grossini.Position = new PointF(x/3, y/2);
            CCScaleBy sc = new CCScaleBy (2, 5);
            CCActionInterval sc_back = sc.Reverse ();
            grossini.RunAction (new CCRepeatForever (new CCSequence (sc, sc_back)));

            CCSprite tamara = new CCSprite ("grossinis_sister1.png", true);
            node.AddChild (tamara, 1, (int)EffectLayers.kTagSprite2);
            tamara.Position = new PointF (2*x/3, y/2);
            CCScaleBy sc2 = new CCScaleBy (2, 5);
            CCActionInterval sc2_back = sc2.Reverse ();
            tamara.RunAction (new CCRepeatForever (new CCSequence (sc2, sc2_back)));

            CCLabelTTF label = new CCLabelTTF (effectsList[actionIdx].Replace("Demo", ""), "Marker Felt", 32);
            label.Position = new PointF (x/2, y-80);
            this.AddChild (label);
            label.Tag = (int)EffectLayers.kTagLabel;

            //menu
            CCMenuItemImage item1 = new CCMenuItemImage ("b1.png", "b2.png", null, BackCallback);
            CCMenuItemImage item2 = new CCMenuItemImage ("r1.png", "r2.png", null, RestartCallback);
            CCMenuItemImage item3 = new CCMenuItemImage ("f1.png", "f2.png", null, NextCallback);

            CCMenu menu = new CCMenu (item1, item2, item3);
            menu.Position = PointF.Empty;
            item1.Position = new PointF(s.Width/2 - item2.ContentSize.Width*2, item2.ContentSize.Height/2);
            item2.Position = new PointF( s.Width/2, item2.ContentSize.Height/2);
            item3.Position = new PointF( s.Width/2 + item2.ContentSize.Width*2, item2.ContentSize.Height/2);
            this.AddChild (menu, 1);

            this.Schedule (new MonoMac.ObjCRuntime.Selector ("checkAnim:"));
        }
        public bool UpdateWithSprite(CCSprite sprite, CCRect textureRect, bool rotated, CCPoint offset,
            CCSize originalSize, CCRect capInsets)
        {
            var opacity = Opacity;
            var color = Color;

            CleanupSlicedSprites();
            protectedChildren.Clear();

            UpdateBlendFunc((sprite != null) ? sprite.Texture : null);

            if (sprite != null)
            {
                if (sprite.SpriteFrame == null)
                    return false;

                if (scale9Image == null)
                {
                    scale9Image = sprite;
                    scale9Image.RemoveAllChildren(true);
                }
                else
                {
                    scale9Image.SpriteFrame = sprite.SpriteFrame;
                }

            }

            if (scale9Image == null)
                return false;

            var spriteFrame = scale9Image.SpriteFrame;

            if (spriteFrame == null)
            {
                return false;
            }

            var rect = textureRect;
            var size = originalSize;

            this.capInsets = capInsets;

            // If there is no given rect
            if (rect == CCRect.Zero)
            {
                // Get the texture size as original
                CCSize textureSize = scale9Image.Texture.ContentSizeInPixels;

                rect.Origin.X = 0;
                rect.Origin.Y = 0;
                rect.Size.Width = textureSize.Width;
                rect.Size.Height = textureSize.Height;
            }

            if (size == CCSize.Zero)
                size = rect.Size;


            // Set the given rect's size as original size
            spriteRect = rect;
            this.offset = offset;
            spriteFrameRotated = rotated;
            this.originalSize = size;
            preferredSize = size;
            capInsetsInternal = capInsets;

            if (isScale9Enabled)
                CreateSlicedSprites();

            ApplyBlendFunc();

            ContentSize = size;

            if (spritesGenerated)
            {
                // Restore color and opacity
                Opacity = opacity;
                Color = color;
            }
            spritesGenerated = true;

            return true;
        }
示例#31
0
        public AnimationCache()
        {
            var frameCache = CCSpriteFrameCache.SharedSpriteFrameCache;

            frameCache.AddSpriteFramesWithFile("animations/grossini.plist");
            frameCache.AddSpriteFramesWithFile("animations/grossini_gray.plist");
            frameCache.AddSpriteFramesWithFile("animations/grossini_blue.plist");

            //
            // create animation "dance"
            //
            var    animFrames = new List <CCSpriteFrame>(15);
            string str        = "";

            for (int i = 1; i < 15; i++)
            {
                str = string.Format("grossini_dance_{0:00}.png", i);
                CCSpriteFrame frame = CCSpriteFrameCache.SharedSpriteFrameCache.SpriteFrameByName(str);
                animFrames.Add(frame);
            }

            CCAnimation animation = new CCAnimation(animFrames, 0.2f);

            // Add an animation to the Cache
            CCAnimationCache.SharedAnimationCache.AddAnimation(animation, "dance");

            //
            // create animation "dance gray"
            //
            animFrames.Clear();

            for (int i = 1; i < 15; i++)
            {
                str = String.Format("grossini_dance_gray_{0:00}.png", i);
                CCSpriteFrame frame = CCSpriteFrameCache.SharedSpriteFrameCache.SpriteFrameByName(str);
                animFrames.Add(frame);
            }

            animation = new CCAnimation(animFrames, 0.2f);

            // Add an animation to the Cache
            CCAnimationCache.SharedAnimationCache.AddAnimation(animation, "dance_gray");

            //
            // create animation "dance blue"
            //
            animFrames.Clear();

            for (int i = 1; i < 4; i++)
            {
                str = String.Format("grossini_blue_{0:00}.png", i);
                CCSpriteFrame frame = CCSpriteFrameCache.SharedSpriteFrameCache.SpriteFrameByName(str);
                animFrames.Add(frame);
            }

            animation = new CCAnimation(animFrames, 0.2f);

            // Add an animation to the Cache
            CCAnimationCache.SharedAnimationCache.AddAnimation(animation, "dance_blue");


            CCAnimationCache animCache = CCAnimationCache.SharedAnimationCache;

            CCAnimation normal = animCache.AnimationByName("dance");

            normal.RestoreOriginalFrame = true;
            CCAnimation dance_grey = animCache.AnimationByName("dance_gray");

            dance_grey.RestoreOriginalFrame = true;
            CCAnimation dance_blue = animCache.AnimationByName("dance_blue");

            dance_blue.RestoreOriginalFrame = true;

            CCAnimate animN = new CCAnimate(normal);
            CCAnimate animG = new CCAnimate(dance_grey);
            CCAnimate animB = new CCAnimate(dance_blue);

            CCFiniteTimeAction seq = CCSequence.FromActions(animN, animG, animB);

            // create an sprite without texture
            CCSprite grossini = new CCSprite();

            grossini.DisplayFrame = frameCache.SpriteFrameByName("grossini_dance_01.png");

            CCSize winSize = CCDirector.SharedDirector.WinSize;

            grossini.Position = (new CCPoint(winSize.Width / 2, winSize.Height / 2));
            AddChild(grossini);

            // run the animation
            grossini.RunAction(seq);
        }
        void InitCloud()
        {
            RectangleF rect;
            switch(rnd.Next()%3) {
            case 0:
                rect = new RectangleF(336,16,256,108);
                break;
            case 1:
                rect = new RectangleF(336,128,257,110);
                break;
            default:
                rect = new RectangleF(336,240,252,119);
                break;
            }

            var batchNode = GetChild ((int)Tags.SpriteManager) as CCSpriteBatchNode;
            var cloud = new CCSprite(batchNode.Texture, rect);
            batchNode.Add(cloud,3,currentCloudTag);

            cloud.Opacity = 128;
        }
示例#33
0
        public RenderTextureZbuffer()
        {
            //this->setIsTouchEnabled(true);
            isTouchEnabled = true;
            CCSize     size  = CCDirector.sharedDirector().getWinSize();
            CCLabelTTF label = CCLabelTTF.labelWithString("vertexZ = 50", "Marker Felt", 64);

            label.position = new CCPoint(size.width / 2, size.height * 0.25f);
            this.addChild(label);

            CCLabelTTF label2 = CCLabelTTF.labelWithString("vertexZ = 0", "Marker Felt", 64);

            label2.position = new CCPoint(size.width / 2, size.height * 0.5f);
            this.addChild(label2);

            CCLabelTTF label3 = CCLabelTTF.labelWithString("vertexZ = -50", "Marker Felt", 64);

            label3.position = new CCPoint(size.width / 2, size.height * 0.75f);
            this.addChild(label3);

            label.vertexZ  = 50;
            label2.vertexZ = 0;
            label3.vertexZ = -50;

#warning "CCSpriteFrameCache is not exist! "
            //CCSpriteFrameCache.sharedSpriteFrameCache().addSpriteFramesWithFile("Images/bugs/circle.plist");
            mgr = CCSpriteBatchNode.batchNodeWithFile("Images/bugs/circle.png", 9);
            this.addChild(mgr);
            sp1 = CCSprite.spriteWithSpriteFrameName("circle.png");
            sp2 = CCSprite.spriteWithSpriteFrameName("circle.png");
            sp3 = CCSprite.spriteWithSpriteFrameName("circle.png");
            sp4 = CCSprite.spriteWithSpriteFrameName("circle.png");
            sp5 = CCSprite.spriteWithSpriteFrameName("circle.png");
            sp6 = CCSprite.spriteWithSpriteFrameName("circle.png");
            sp7 = CCSprite.spriteWithSpriteFrameName("circle.png");
            sp8 = CCSprite.spriteWithSpriteFrameName("circle.png");
            sp9 = CCSprite.spriteWithSpriteFrameName("circle.png");

            mgr.addChild(sp1, 9);
            mgr.addChild(sp2, 8);
            mgr.addChild(sp3, 7);
            mgr.addChild(sp4, 6);
            mgr.addChild(sp5, 5);
            mgr.addChild(sp6, 4);
            mgr.addChild(sp7, 3);
            mgr.addChild(sp8, 2);
            mgr.addChild(sp9, 1);

            sp1.vertexZ = 400;
            sp2.vertexZ = 300;
            sp3.vertexZ = 200;
            sp4.vertexZ = 100;
            sp5.vertexZ = 0;
            sp6.vertexZ = -100;
            sp7.vertexZ = -200;
            sp8.vertexZ = -300;
            sp9.vertexZ = -400;

            sp9.scale = 2;
            sp9.Color = new ccColor3B {
                r = 255, g = 255, b = 0
            };
        }
        internal void InitWithSpriteFrameName(string spriteFrameName, CCRect capInsets)
        {
            CCSpriteFrame spriteFrame = CCSpriteFrameCache.SharedSpriteFrameCache[spriteFrameName];

            var sprite = new CCSprite(spriteFrame);

            if (spriteFrame != null && spriteFrame.Texture != null)
            {
                UpdateWithSprite(sprite,
                    spriteFrame.TextureRectInPixels,
                    spriteFrame.IsRotated,
                    spriteFrame.OffsetInPixels,
                    spriteFrame.OriginalSizeInPixels,
                    capInsets);
            }
        }
示例#35
0
        public void UpdateInterface(List <Player> playerlist, int amountoftiles, Card tile) // in this method the labels and button are made that need to update everytime a player has his turn
        {
            string    currentplayer = "error";
            string    currentpoints = "error";
            string    currentaliens = "error";
            int       t;
            int       gotvet       = 0;
            CCColor3B currentcolor = CCColor3B.White;
            CCColor3B label_color  = CCColor3B.White;

            foreach (CCLabel l in m_labels)
            {
                RemoveChild(l);
            }
            m_labels.Clear();

            foreach (CCSprite s in m_sprites)
            {
                RemoveChild(s);
            }
            m_sprites.Clear();

            for (t = 0; t < playerlist.Count; t++) //for loop for creating the values for the currentplayer
            {
                if (playerlist[t].Turn == true)
                {
                    currentplayer = playerlist[t].Name;
                    currentpoints = playerlist[t].Points.ToString();
                    currentaliens = playerlist[t].NumberOfAliens.ToString();
                    currentcolor  = playerlist[t].PlayerColor;
                    break;
                }
            }

            MakeLabel(currentplayer, m_font, 36, 260, 140, currentcolor);
            MakeLabel(currentpoints, m_font, 36, 730, 100, label_color);
            MakeLabel(currentaliens, m_font, 36, 950, 100, label_color);
            MakeLabel(amountoftiles.ToString() + "X", m_font, 36, 1810, 245, label_color);

            for (int z = 0; z < (playerlist.Count - 1); z++) //for loop which makes the players on the right who are next in line
            {
                if (t + 1 == playerlist.Count)
                {
                    t = -1;
                }
                MakeLabel(playerlist[t + 1].Name, m_font, 20, 1820, 1050 - gotvet * 100, playerlist[t + 1].PlayerColor);
                MakeLabel(playerlist[t + 1].Points.ToString(), m_font, 20, 1800, 1000 - gotvet * 100, playerlist[t + 1].PlayerColor);
                MakeLabel(playerlist[t + 1].NumberOfAliens.ToString(), m_font, 20, 1890, 1000 - gotvet * 100, playerlist[t + 1].PlayerColor);

                CCSprite smallalien = new CCSprite("alien");
                CCSprite smallcoin  = new CCSprite("coin");
                smallalien.Scale    = 0.25f;
                smallcoin.Scale     = 0.25f;
                smallalien.Position = new CCPoint(1850, 1000 - gotvet * 100);
                smallcoin.Position  = new CCPoint(1750, 1000 - gotvet * 100);
                AddChild(smallalien);
                AddChild(smallcoin);
                m_sprites.Add(smallalien);
                m_sprites.Add(smallcoin);

                gotvet++;
                t++;
            }
            RemoveChild(m_CardButton);
            m_CardButton          = TexturePool.GetSprite(tile.m_Hash);
            m_CardButton.Position = m_CardPos;
            m_CardButton.Rotation = tile.GetRotation();

            AddChild(m_CardButton);
        }
		public SneakyJoystickControlSkinnedBase(CCRect size)
			: base(size)
		{
			BackgroundSprite = new CCSprite(DEFAULT_IMAGE_BACKGROUND);  //new ColoredCircleSprite( CCColor4B.Red, 100f);
			ThumbSprite = new CCSprite(DEFAULT_IMAGE_THUMB);  //new ColoredCircleSprite(CCColor4B.Blue,30f);
		}
示例#37
0
 private void CreateFruitGraphic()
 {
     graphic = new CCSprite("cherry.png");
     graphic.IsAntialiased = false;
     this.AddChild(graphic);
 }
        // Init calls that are called externally for objects that are already instantiated
        internal void InitWithSpriteFrame(CCSpriteFrame spriteFrame)
        {

            var sprite = new CCSprite(spriteFrame);

            if (spriteFrame != null && spriteFrame.Texture != null)
            {
                UpdateWithSprite(sprite,
                    spriteFrame.TextureRectInPixels,
                    spriteFrame.IsRotated,
                    spriteFrame.OffsetInPixels,
                    spriteFrame.OriginalSizeInPixels,
                    capInsets);

            }

        }
 public override void doTest(CCSprite sprite)
 {
     performanceScale(sprite);
 }
        // Sprite frame

        public CCScale9Sprite(CCSpriteFrame spriteFrame, CCRect capInsets)
        {
            var sprite = new CCSprite(spriteFrame);

            if (spriteFrame != null && spriteFrame.Texture != null)
            {
                UpdateWithSprite(sprite,
                    spriteFrame.TextureRectInPixels,
                    spriteFrame.IsRotated,
                    spriteFrame.OffsetInPixels,
                    spriteFrame.OriginalSizeInPixels,
                    capInsets);

                // Reset insets
                insetLeft = 0;
                insetTop = 0;
                insetRight = 0;
                insetBottom = 0;
            }

        }
示例#41
0
        protected override void AddedToScene()
        {
            base.AddedToScene();

            InitializeJoystick();
            InitializeMonkey();
            InitializeBear();

            CurrentSprite        = monkeySprite;
            joystickPanel.Player = CurrentSprite;

            CurrentSprite.Position = Window.WindowSizeInPixels.Center;

            CCSimpleAudioEngine.SharedEngine.PreloadEffect("sound_oso");

            joystickListener = new CCEventListenerCustom(SneakyPanelControl.JOY_LISTENER_ID, (customEvent) =>
            {
                var response = customEvent.UserData as SneakyJoystickEventResponse;
                if (response != null)
                {
                    switch (response.ResponseType)
                    {
                    case SneakyJoystickMovementStatus.Start:
                        isWalking = true;
                        Console.WriteLine("Start walk.");
                        break;

                    case SneakyJoystickMovementStatus.End:
                        isWalking = false;
                        Console.WriteLine("Stop walk.");
                        break;

                    default:
                        break;
                    }
                }
            });
            AddEventListener(joystickListener, 1);

            buttonListener = new CCEventListenerCustom(SneakyPanelControl.BUTTON_LISTENER_ID, (customEvent) =>
            {
                var response = customEvent.UserData as SneakyButtonEventResponse;
                if (response != null)
                {
                    if (response.ID == 1)
                    {
                        CCSimpleAudioEngine.SharedEngine.PlayEffect("sound_oso");
                    }

                    if (response.ID == 0 && response.ResponseType == SneakyButtonStatus.Release)
                    {
                        SwitchSprite();
                    }

                    Console.WriteLine("BUTTON {0} {1}", response.ID, response.ResponseType == SneakyButtonStatus.Press ? "PRESSED" : "UNPRESSED");
                }
            });

            AddEventListener(buttonListener, 1);

            Schedule();
        }
示例#42
0
        private void AddMonster(float time)
        {
            var selectedMonster = new Random().Next() % _monsters.Count;

            var monster = _monsters[selectedMonster];
            var m       = monster.Movement;

            //!IMPORTANT -- Every Sprite in Screen must be an new CCSprite! Each Sprite can only be one time on screen
            var spriteMonster = new CCSprite(monster.MonsterSprite);

            spriteMonster.Scale = _appScale;
            spriteMonster.Tag   = monster.Tag;

            //BLOCK 1 - Determine where to spawn the monster along the Y axis
            var winSize = Window.WindowSizeInPixels;
            var minX    = (spriteMonster.ContentSize.Width / 2);
            var maxX    = winSize.Width - spriteMonster.ContentSize.Width / 2;
            var rangeX  = maxX - minX;
            var actualY = (new Random().Next() % rangeX) + minX;

            //BLOCK 2 - Determine speed of the monster
            var minDuration    = monster.MinVelocity;
            var maxDuration    = monster.MaxVelocity;
            var rangeDuration  = maxDuration - minDuration;
            var actualDuration = (new Random().Next() % rangeDuration) + minDuration;

            if (m == 1)
            {
                spriteMonster.Position = new CCPoint(actualY, winSize.Height + spriteMonster.ContentSize.Height / 2);
                AddChild(spriteMonster);

                var actionMove         = new CCMoveTo(actualDuration, new CCPoint(actualY, -spriteMonster.ContentSize.Height / 2));
                var actionMoveComplete = new CCCallFuncN(node =>
                {
                    _monstersOnScreen.Remove(node);
                    node.RemoveFromParent();

                    _lives--;
                    var index = _hearths.Count - 1;
                    RemoveChild(_hearths[index]);
                    _hearths.RemoveAt(index);
                    if (_lives == 0)
                    {
                        Window.DefaultDirector.ReplaceScene(GameStartLayer.GameStartLayerScene(Window));
                    }
                });

                spriteMonster.RunActions(actionMove, actionMoveComplete);
                _monstersOnScreen.Add(spriteMonster);
            }
            else if (m == 2)
            {
                spriteMonster.Position = new CCPoint(actualY, winSize.Height + spriteMonster.ContentSize.Height / 2);
                AddChild(spriteMonster);

                var actionMoveComplete = new CCCallFuncN(node =>
                {
                    _monstersOnScreen.Remove(node);
                    node.RemoveFromParent();

                    _lives--;
                    var index = _hearths.Count - 1;
                    RemoveChild(_hearths[index]);
                    _hearths.RemoveAt(index);
                    if (_lives == 0)
                    {
                        Window.DefaultDirector.ReplaceScene(GameStartLayer.GameStartLayerScene(Window));
                    }
                });

                var        bezierList    = new List <CCFiniteTimeAction>();
                var        bezier        = new CCBezierConfig();
                var        splitDuration = actualDuration / 6.0f;
                CCBezierTo bezierAction;

                for (int i = 0; i < 6; i++)
                {
                    if (i % 2 == 0)
                    {
                        bezier.ControlPoint1 = new CCPoint(actualY + 100, winSize.Height - (100 + (i * 200)));
                        bezier.ControlPoint2 = new CCPoint(actualY + 100, winSize.Height - (100 + (i * 200)));
                        bezier.EndPosition   = new CCPoint(actualY, winSize.Height - (200 + (i * 200)));
                        bezierAction         = new CCBezierTo(splitDuration, bezier);
                    }
                    else
                    {
                        bezier.ControlPoint1 = new CCPoint(actualY - 100, winSize.Height - (100 + (i * 200)));
                        bezier.ControlPoint2 = new CCPoint(actualY - 100, winSize.Height - (100 + (i * 200)));
                        bezier.EndPosition   = new CCPoint(actualY, winSize.Height - (200 + (i * 200)));
                        bezierAction         = new CCBezierTo(splitDuration, bezier);
                    }

                    bezierList.Add(bezierAction);
                }

                bezierList.Add(actionMoveComplete);

                var seq = new CCSequence(bezierList.ToArray());
                spriteMonster.RunAction(seq);

                _monstersOnScreen.Add(spriteMonster);
            }
        }
        public override void Update(float dt)
        {
            if (bDone)
            {
                return;
            }
            //srandom(0);

            // 15 percent
            int totalToAdd = (int)(currentQuantityOfNodes * 0.15f);

            if (totalToAdd > 0)
            {
                List <CCSprite> sprites = new List <CCSprite>();

                // Don't include the sprite creation time as part of the profiling
                StartTimer();
                for (int i = 0; i < totalToAdd; i++)
                {
                    CCSprite pSprite = new CCSprite(batchNode.Texture, new CCRect(0, 0, 32, 32));
                    sprites.Add(pSprite);
                }
                EndTimer("Add sprites to batch node");

                // add them with random Z (very important!)
                StartTimer();
                for (int i = 0; i < totalToAdd; i++)
                {
                    batchNode.AddChild((CCNode)(sprites[i]), (int)(CCMacros.CCRandomBetweenNegative1And1() * 50), PerformanceNodeChildrenTest.kTagBase + i);
                }
                EndTimer("Add sprites to batch node with random z");

                //		[batchNode sortAllChildren];

                // reorder them
                //#if CC_ENABLE_PROFILERS
                //        CCProfilingBeginTimingBlock(_profilingTimer);
                //#endif

                StartTimer();
                for (int i = 0; i < totalToAdd; i++)
                {
                    CCNode node = (CCNode)(batchNode.Children[i]);
                    batchNode.ReorderChild(node, (int)(CCMacros.CCRandomBetweenNegative1And1() * 50));
                }
                EndTimer("Reordering " + totalToAdd + " sprites in the node");

                //#if CC_ENABLE_PROFILERS
                //        CCProfilingEndTimingBlock(_profilingTimer);
                //#endif

                // remove them
                StartTimer();
                for (int i = 0; i < totalToAdd; i++)
                {
                    batchNode.RemoveChildByTag(PerformanceNodeChildrenTest.kTagBase + i, true);
                }
                EndTimer("Remove the sprites from the batch node");
            }
            bDone = true;
        }
示例#44
0
        public SpriteFrameTest()
        {
            CCSize s = CCDirector.SharedDirector.WinSize;

            // IMPORTANT:
            // The sprite frames will be cached AND RETAINED, and they won't be released unless you call
            //     CCSpriteFrameCache::sharedSpriteFrameCache()->removeUnusedSpriteFrames);
            CCSpriteFrameCache cache = CCSpriteFrameCache.SharedSpriteFrameCache;

            cache.AddSpriteFramesWithFile("animations/grossini.plist");
            cache.AddSpriteFramesWithFile("animations/grossini_gray.plist", "animations/grossini_gray");
            cache.AddSpriteFramesWithFile("animations/grossini_blue.plist", "animations/grossini_blue");

            //
            // Animation using Sprite BatchNode
            //
            m_pSprite1          = new CCSprite("grossini_dance_01.png");
            m_pSprite1.Position = (new CCPoint(s.Width / 2 - 80, s.Height / 2));

            CCSpriteBatchNode spritebatch = new CCSpriteBatchNode("animations/grossini");

            spritebatch.AddChild(m_pSprite1);
            AddChild(spritebatch);

            var animFrames = new List <CCSpriteFrame>(15);

            string str = "";

            for (int i = 1; i < 15; i++)
            {
                str = string.Format("grossini_dance_{0:00}.png", i);
                CCSpriteFrame frame = cache.SpriteFrameByName(str);
                animFrames.Add(frame);
            }

            CCAnimation animation = new CCAnimation(animFrames, 0.3f);

            m_pSprite1.RunAction(new CCRepeatForever(new CCAnimate(animation)));

            // to test issue #732, uncomment the following line
            m_pSprite1.FlipX = false;
            m_pSprite1.FlipY = false;

            //
            // Animation using standard Sprite
            //
            m_pSprite2          = new CCSprite("grossini_dance_01.png");
            m_pSprite2.Position = (new CCPoint(s.Width / 2 + 80, s.Height / 2));
            AddChild(m_pSprite2);


            var moreFrames = new List <CCSpriteFrame>(20);

            for (int i = 1; i < 15; i++)
            {
                string temp;
                str = string.Format("grossini_dance_gray_{0:00}.png", i);
                CCSpriteFrame frame = cache.SpriteFrameByName(str);
                moreFrames.Add(frame);
            }


            for (int i = 1; i < 5; i++)
            {
                str = string.Format("grossini_blue_{0:00}.png", i);
                CCSpriteFrame frame = cache.SpriteFrameByName(str);
                moreFrames.Add(frame);
            }

            // append frames from another batch
            moreFrames.AddRange(animFrames);
            CCAnimation animMixed = new CCAnimation(moreFrames, 0.3f);


            m_pSprite2.RunAction(new CCRepeatForever(new CCAnimate(animMixed)));



            // to test issue #732, uncomment the following line
            m_pSprite2.FlipX = false;
            m_pSprite2.FlipY = false;

            Schedule(startIn05Secs, 0.5f);
            m_nCounter = 0;
        }
示例#45
0
        public override void OnEnter()
        {
            base.OnEnter();

            CCSize winSize = VisibleBoundsWorldspace.Size;
            float  x       = winSize.Center.X;
            float  y       = winSize.Center.Y;

            //var widgetSize = _widget->getContentSize();

            var moveTo   = new CCMoveBy(1.0f, new CCPoint(30, 0));
            var moveBack = moveTo.Reverse();
            var rotateBy = new CCRotateBy(1.0f, 180);
            var scaleBy  = new CCScaleTo(1.0f, -2.0f);
            var action   = new CCSequence(moveTo, moveBack, rotateBy, scaleBy);


            var normalSprite1 = new CCSprite("Images/animationbuttonnormal.png");

            normalSprite1.Position   = winSize.Center;
            normalSprite1.PositionX -= 100;
            normalSprite1.PositionY += 100;
            normalSprite1.FlipY      = true;


            AddChild(normalSprite1);
            normalSprite1.RunAction(action);

            var normalSprite2 = new CCScale9Sprite("Images/animationbuttonnormal.png");

            normalSprite2.Position        = winSize.Center;
            normalSprite2.PositionX      -= 80;
            normalSprite2.PositionY      += 100;
            normalSprite2.IsScale9Enabled = false;
            normalSprite2.Opacity         = 100;
            AddChild(normalSprite2);
            normalSprite2.Color = CCColor3B.Green;
            normalSprite2.RunAction(action);


            var sp1 = new CCScale9Sprite("Images/animationbuttonnormal.png");

            sp1.Position    = winSize.Center;
            sp1.PositionX  -= 100;
            sp1.PositionY  -= 50;
            sp1.Scale       = 1.2f;
            sp1.ContentSize = new CCSize(100, 100);
            sp1.Color       = CCColor3B.Green;
            AddChild(sp1);
            sp1.RunAction(action);

            var sp2 = new CCScale9Sprite("Images/animationbuttonnormal.png");

            sp2.Position      = winSize.Center;
            sp2.PositionX    += 100;
            sp2.PositionY    -= 50;
            sp2.PreferredSize = sp1.ContentSize * 1.2f;
            sp2.ContentSize   = new CCSize(100, 100);
            sp2.Color         = CCColor3B.Green;
            AddChild(sp2);
            sp2.RunAction(action);
        }
示例#46
0
 public override void doTest(CCSprite sprite)
 {
     performancePosition(sprite);
 }
        public MachineLayer()
        {
            space = new Space () {
                Gravity = new PointF (0, -10),
            };

            Add ( new CCSprite ("bg.jpg") {
                Position = UIDevice.CurrentDevice.IsIPad() ? new PointF(512, 384) : new PointF(240, 160),
            });

            //motorblock, no body, no shape
            var motorblock = new CCSprite ("motor_block.png") {
                Position = UIDevice.CurrentDevice.IsIPad() ? new PointF (160, 460) : new PointF (80, 230),
            };
            Add (motorblock);

            //motorwheel
            var motorwheel = new CCPhysicsSprite ("motor_wheel.png") {
                Body = new Body (1, Helper.MomentForCircle (1, 20, 20, PointF.Empty)),
                Position = UIDevice.CurrentDevice.IsIPad() ? new PointF (160, 460) : new PointF (80, 230),
            };
            Add (motorwheel);

            space.Add (motorwheel.Body);
            space.Add (new CircleShape (motorwheel.Body, UIDevice.CurrentDevice.IsIPad() ? 20 : 10, PointF.Empty) {Group = 1});
            space.Add ((Constraint)new PivotJoint (space.StaticBody, motorwheel.Body, UIDevice.CurrentDevice.IsIPad() ? new PointF (160,460) : new PointF (80, 230)));
            space.Add ((Constraint)new SimpleMotor (space.StaticBody, motorwheel.Body, 10f));

            //wheel
            var wheel = new CCPhysicsSprite ("wheel.png") {
                Body = new Body (25, Helper.MomentForCircle (25, 140, 140, PointF.Empty)),
                Position = UIDevice.CurrentDevice.IsIPad() ? new PointF (160, 300) : new PointF (80, 150),
            };
            space.Add (wheel.Body);
            space.Add (new CircleShape (wheel.Body, UIDevice.CurrentDevice.IsIPad() ? 140 : 70, PointF.Empty){Group = 1});
            Add (wheel);
            space.Add ((Constraint)new PivotJoint (space.StaticBody, wheel.Body, UIDevice.CurrentDevice.IsIPad() ? new PointF (160, 300) : new PointF (80, 150)));
            space.Add ((Constraint)new GearJoint (motorwheel.Body, wheel.Body, 0f, -7f));

            //cylinder. no physics body. only a shape
            Add (new CCSprite ("cylinder.png") {
                Position = UIDevice.CurrentDevice.IsIPad() ? new PointF (570, 300) : new PointF (285, 150),
            });

            //space.Add (new PolygonShape (space.StaticBody, new [] {
            //	new PointF (350, 160),
            //	new PointF (350, 200),
            //	new PointF (750, 200),
            //	new PointF (750, 160),
            //}, PointF.Empty));
            //
            //space.Add (new PolygonShape (space.StaticBody, new [] {
            //	new PointF (350, 400),
            //	new PointF (350, 440),
            //	new PointF (750, 440),
            //	new PointF (750, 400),
            //}, PointF.Empty));

            //piston
            var piston = new CCPhysicsSprite ("piston.png") {
                Body = new Body (8, float.PositiveInfinity), //never rotates
                Position = UIDevice.CurrentDevice.IsIPad() ? new PointF (370, 300) : new PointF (185, 150),
            };
            space.Add (piston.Body);
            space.Add (new PolygonShape (piston.Body, UIDevice.CurrentDevice.IsIPad() ? 100 : 50, UIDevice.CurrentDevice.IsIPad() ? 200 : 50) {Group = 1});
            Add (piston);

            //conrod
            var conrod = new CCPhysicsSprite ("conrod.png") {
                Body = new Body (4, Helper.MomentForPolygon (4, new[] {
                    new PointF (-160,-20),
                    new PointF (-160, 20),
                    new PointF (160, 20),
                    new PointF (160, -20),
                }, PointF.Empty)),
                Position = UIDevice.CurrentDevice.IsIPad() ? new PointF (190, 300) : new PointF (95, 150)
            };
            space.Add (conrod.Body);
            space.Add (new PolygonShape (conrod.Body, UIDevice.CurrentDevice.IsIPad() ? 320 : 160, UIDevice.CurrentDevice.IsIPad() ? 40 : 20) {Group = 1});
            Add (conrod);
            space.Add ((Constraint)new PivotJoint (wheel.Body, conrod.Body, UIDevice.CurrentDevice.IsIPad() ? new PointF (40, 300) : new PointF (20, 150)));

            space.Add ((Constraint)new PivotJoint (conrod.Body, piston.Body, UIDevice.CurrentDevice.IsIPad() ? new PointF (340, 300) : new PointF (170, 150)));
            space.Add ((Constraint)new GrooveJoint (space.StaticBody,
                                        piston.Body,
                                        UIDevice.CurrentDevice.IsIPad() ? new PointF (0, 300) : new PointF (0, 150),
                                        UIDevice.CurrentDevice.IsIPad() ? new PointF (1024, 300) : new PointF (480, 150),
                                        UIDevice.CurrentDevice.IsIPad() ? new PointF (0, 0): new PointF (0, 0)));
        }
示例#48
0
        public MenuLayer1()
        {
            CCMenuItemFont.FontSize = 30;
            CCMenuItemFont.FontName = "arial";
            base.TouchEnabled       = true;
            // Font Item

            CCSprite spriteNormal   = new CCSprite(s_MenuItem, new CCRect(0, 23 * 2, 115, 23));
            CCSprite spriteSelected = new CCSprite(s_MenuItem, new CCRect(0, 23 * 1, 115, 23));
            CCSprite spriteDisabled = new CCSprite(s_MenuItem, new CCRect(0, 23 * 0, 115, 23));

            CCMenuItemSprite item1 = new CCMenuItemSprite(spriteNormal, spriteSelected, spriteDisabled, this.menuCallback);

            // Image Item
            CCMenuItem item2 = new CCMenuItemImage(s_SendScore, s_PressSendScore, this.menuCallback2);

            // Label Item (LabelAtlas)
            CCLabelAtlas    labelAtlas = new CCLabelAtlas("0123456789", "Images/fps_Images", 16, 24, '.');
            CCMenuItemLabel item3      = new CCMenuItemLabel(labelAtlas, this.menuCallbackDisabled);

            item3.DisabledColor = new CCColor3B(32, 32, 64);
            item3.Color         = new CCColor3B(200, 200, 255);

            // Font Item
            CCMenuItemFont item4 = new CCMenuItemFont("I toggle enable items", this.menuCallbackEnable);

            item4.FontSizeObj = 20;
            item4.FontNameObj = "arial";

            // Label Item (CCLabelBMFont)
            CCLabelBMFont   label = new CCLabelBMFont("configuration", "fonts/bitmapFontTest3.fnt");
            CCMenuItemLabel item5 = new CCMenuItemLabel(label, this.menuCallbackConfig);


            // Testing issue #500
            item5.Scale = 0.8f;

            // Events
            CCMenuItemFont.FontName = "arial";
            CCMenuItemFont item6 = new CCMenuItemFont("Priority Test", menuCallbackPriorityTest);

            // Font Item
            CCMenuItemFont item7 = new CCMenuItemFont("Quit", this.onQuit);

            CCActionInterval   color_action = new CCTintBy(0.5f, 0, -255, -255);
            CCActionInterval   color_back   = (CCActionInterval)color_action.Reverse();
            CCFiniteTimeAction seq          = CCSequence.FromActions(color_action, color_back);

            item7.RunAction(new CCRepeatForever((CCActionInterval)seq));

            CCMenu menu = new CCMenu(item1, item2, item3, item4, item5, item6, item7);

            menu.AlignItemsVertically();

            // elastic effect
            CCSize s = CCDirector.SharedDirector.WinSize;
            int    i = 0;
            CCNode child;
            var    pArray  = menu.Children;
            object pObject = null;

            if (pArray.Count > 0)
            {
                for (int j = 0; j < pArray.Count; j++)
                {
                    pObject = pArray[j];
                    if (pObject == null)
                    {
                        break;
                    }
                    child = (CCNode)pObject;
                    CCPoint dstPoint = child.Position;
                    int     offset   = (int)(s.Width / 2 + 50);
                    if (i % 2 == 0)
                    {
                        offset = -offset;
                    }

                    child.Position = new CCPoint(dstPoint.X + offset, dstPoint.Y);
                    child.RunAction(new CCEaseElasticOut(new CCMoveBy(2, new CCPoint(dstPoint.X - offset, 0)), 0.35f));
                    i++;
                }
            }
            m_disabledItem         = item3;
            m_disabledItem.Enabled = false;

            AddChild(menu);
        }
示例#49
0
 private void CreateBorderSprite()
 {
     borderSprite             = new CCSprite("CardHighlight.png");
     borderSprite.AnchorPoint = CCPoint.Zero;
     this.AddChild(borderSprite);
 }
        void CreateSlicedSprites()
        {

            float height = originalSize.Height;
            float width = originalSize.Width;

            CCPoint offsetPosition = CCPoint.Zero;
            offsetPosition.X = (float)System.Math.Ceiling(offset.X + (originalSize.Width - spriteRect.Size.Width) / 2);
            offsetPosition.Y = (float)System.Math.Ceiling(offset.Y + (originalSize.Height - spriteRect.Size.Height) / 2);

            // If there is no specified center region
            if (capInsetsInternal == CCRect.Zero)
            {
                capInsetsInternal = new CCRect(width / 3, height / 3, width / 3, height / 3);
            }

            var originalRect = spriteRect;
            if (spriteFrameRotated)
                originalRect = new CCRect(spriteRect.Origin.X - offsetPosition.Y,
                                    spriteRect.Origin.Y - offsetPosition.X,
                                    originalSize.Width, originalSize.Height);
            else
                originalRect = new CCRect(spriteRect.Origin.X - offsetPosition.Y,
                                    spriteRect.Origin.Y - offsetPosition.Y,
                                    originalSize.Width, originalSize.Height);

            float leftWidth = capInsetsInternal.Origin.X;
            float centerWidth = capInsetsInternal.Size.Width;
            float rightWidth = originalRect.Size.Width - (leftWidth + centerWidth);

            float topHeight = capInsetsInternal.Origin.Y;
            float centerHeight = capInsetsInternal.Size.Height;
            float bottomHeight = originalRect.Size.Height - (topHeight + centerHeight);

            // calculate rects

            // ... top row
            float x = 0.0f;
            float y = 0.0f;
            //why do we need pixelRect?
            var pixelRect = new CCRect(offsetPosition.X, offsetPosition.Y,
                                  spriteRect.Size.Width, spriteRect.Size.Height);

            // top left
            var leftTopBoundsOriginal = new CCRect(x, y, leftWidth, topHeight);
            var leftTopBounds = leftTopBoundsOriginal;

            // top center
            x += leftWidth;
            var centerTopBounds = new CCRect(x, y, centerWidth, topHeight);

            // top right
            x += centerWidth;
            var rightTopBounds = new CCRect(x, y, rightWidth, topHeight);

            // ... center row
            x = 0.0f;
            y = 0.0f;
            y += topHeight;

            // center left
            var leftCenterBounds = new CCRect(x, y, leftWidth, centerHeight);

            // center center
            x += leftWidth;
            var centerBoundsOriginal = new CCRect(x, y, centerWidth, centerHeight);
            var centerBounds = centerBoundsOriginal;

            // center right
            x += centerWidth;
            var rightCenterBounds = new CCRect(x, y, rightWidth, centerHeight);

            // ... bottom row
            x = 0.0f;
            y = 0.0f;
            y += topHeight;
            y += centerHeight;

            // bottom left
            var leftBottomBounds = new CCRect(x, y, leftWidth, bottomHeight);

            // bottom center
            x += leftWidth;
            var centerBottomBounds = new CCRect(x, y, centerWidth, bottomHeight);

            // bottom right
            x += centerWidth;
            var rightBottomBoundsOriginal = new CCRect(x, y, rightWidth, bottomHeight);
            var rightBottomBounds = rightBottomBoundsOriginal;

            if ((capInsetsInternal.Origin.X + capInsetsInternal.Size.Width) <= originalSize.Width
               || (capInsetsInternal.Origin.Y + capInsetsInternal.Size.Height) <= originalSize.Height)
            //in general case it is error but for legacy support we will check it
            {
                leftTopBounds = intersectRect(leftTopBounds, pixelRect);
                centerTopBounds = intersectRect(centerTopBounds, pixelRect);
                rightTopBounds = intersectRect(rightTopBounds, pixelRect);
                leftCenterBounds = intersectRect(leftCenterBounds, pixelRect);
                centerBounds = intersectRect(centerBounds, pixelRect);
                rightCenterBounds = intersectRect(rightCenterBounds, pixelRect);
                leftBottomBounds = intersectRect(leftBottomBounds, pixelRect);
                centerBottomBounds = intersectRect(centerBottomBounds, pixelRect);
                rightBottomBounds = intersectRect(rightBottomBounds, pixelRect);
            }
            else
                //it is error but for legacy turn off clip system
                CCLog.Log("Scale9Sprite capInsetsInternal > originalSize");

            var rotatedLeftTopBoundsOriginal = leftTopBoundsOriginal;
            var rotatedCenterBoundsOriginal = centerBoundsOriginal;
            var rotatedRightBottomBoundsOriginal = rightBottomBoundsOriginal;

            var rotatedCenterBounds = centerBounds;
            var rotatedRightBottomBounds = rightBottomBounds;
            var rotatedLeftBottomBounds = leftBottomBounds;
            var rotatedRightTopBounds = rightTopBounds;
            var rotatedLeftTopBounds = leftTopBounds;
            var rotatedRightCenterBounds = rightCenterBounds;
            var rotatedLeftCenterBounds = leftCenterBounds;
            var rotatedCenterBottomBounds = centerBottomBounds;
            var rotatedCenterTopBounds = centerTopBounds;

            if (!spriteFrameRotated)
            {

                CCAffineTransform t = CCAffineTransform.Identity;
                t = CCAffineTransform.Translate(t, originalRect.Origin.X, originalRect.Origin.Y);

                rotatedLeftTopBoundsOriginal = CCAffineTransform.Transform(rotatedLeftTopBoundsOriginal, t);
                rotatedCenterBoundsOriginal = CCAffineTransform.Transform(rotatedCenterBoundsOriginal, t);
                rotatedRightBottomBoundsOriginal = CCAffineTransform.Transform(rotatedRightBottomBoundsOriginal, t);

                rotatedCenterBounds = CCAffineTransform.Transform(rotatedCenterBounds, t);
                rotatedRightBottomBounds = CCAffineTransform.Transform(rotatedRightBottomBounds, t);
                rotatedLeftBottomBounds = CCAffineTransform.Transform(rotatedLeftBottomBounds, t);
                rotatedRightTopBounds = CCAffineTransform.Transform(rotatedRightTopBounds, t);
                rotatedLeftTopBounds = CCAffineTransform.Transform(rotatedLeftTopBounds, t);
                rotatedRightCenterBounds = CCAffineTransform.Transform(rotatedRightCenterBounds, t);
                rotatedLeftCenterBounds = CCAffineTransform.Transform(rotatedLeftCenterBounds, t);
                rotatedCenterBottomBounds = CCAffineTransform.Transform(rotatedCenterBottomBounds, t);
                rotatedCenterTopBounds = CCAffineTransform.Transform(rotatedCenterTopBounds, t);

            }
            else
            {
                // set up transformation of coordinates
                // to handle the case where the sprite is stored rotated
                // in the spritesheet
                // log("rotated");

                CCAffineTransform t = CCAffineTransform.Identity;
                t = CCAffineTransform.Translate(t, originalRect.Size.Height + originalRect.Origin.X,
                    originalRect.Origin.Y);

                t = CCAffineTransform.Rotate(t, 1.57079633f);

                leftTopBoundsOriginal = CCAffineTransform.Transform(leftTopBoundsOriginal, t);
                centerBoundsOriginal = CCAffineTransform.Transform(centerBoundsOriginal, t);
                rightBottomBoundsOriginal = CCAffineTransform.Transform(rightBottomBoundsOriginal, t);

                centerBounds = CCAffineTransform.Transform(centerBounds, t);
                rightBottomBounds = CCAffineTransform.Transform(rightBottomBounds, t);
                leftBottomBounds = CCAffineTransform.Transform(leftBottomBounds, t);
                rightTopBounds = CCAffineTransform.Transform(rightTopBounds, t);
                leftTopBounds = CCAffineTransform.Transform(leftTopBounds, t);
                rightCenterBounds = CCAffineTransform.Transform(rightCenterBounds, t);
                leftCenterBounds = CCAffineTransform.Transform(leftCenterBounds, t);
                centerBottomBounds = CCAffineTransform.Transform(centerBottomBounds, t);
                centerTopBounds = CCAffineTransform.Transform(centerTopBounds, t);

                rotatedLeftTopBoundsOriginal.Origin = leftTopBoundsOriginal.Origin;
                rotatedCenterBoundsOriginal.Origin = centerBoundsOriginal.Origin;
                rotatedRightBottomBoundsOriginal.Origin = rightBottomBoundsOriginal.Origin;

                rotatedCenterBounds.Origin = centerBounds.Origin;
                rotatedRightBottomBounds.Origin = rightBottomBounds.Origin;
                rotatedLeftBottomBounds.Origin = leftBottomBounds.Origin;
                rotatedRightTopBounds.Origin = rightTopBounds.Origin;
                rotatedLeftTopBounds.Origin = leftTopBounds.Origin;
                rotatedRightCenterBounds.Origin = rightCenterBounds.Origin;
                rotatedLeftCenterBounds.Origin = leftCenterBounds.Origin;
                rotatedCenterBottomBounds.Origin = centerBottomBounds.Origin;
                rotatedCenterTopBounds.Origin = centerTopBounds.Origin;

            }

            topLeftSize = rotatedLeftTopBoundsOriginal.Size;
            centerSize = rotatedCenterBoundsOriginal.Size;
            bottomRightSize = rotatedRightBottomBoundsOriginal.Size;

            if (spriteFrameRotated)
            {
                float offsetX = (rotatedCenterBounds.Origin.X + rotatedCenterBounds.Size.Height / 2)
                    - (rotatedCenterBoundsOriginal.Origin.X + rotatedCenterBoundsOriginal.Size.Height / 2);
                float offsetY = (rotatedCenterBoundsOriginal.Origin.Y + rotatedCenterBoundsOriginal.Size.Width / 2)
                    - (rotatedCenterBounds.Origin.Y + rotatedCenterBounds.Size.Width / 2);
                centerOffset.X = -offsetY;
                centerOffset.Y = offsetX;
            }
            else
            {
                float offsetX = (rotatedCenterBounds.Origin.X + rotatedCenterBounds.Size.Width / 2)
                    - (rotatedCenterBoundsOriginal.Origin.X + rotatedCenterBoundsOriginal.Size.Width / 2);
                float offsetY = (rotatedCenterBoundsOriginal.Origin.Y + rotatedCenterBoundsOriginal.Size.Height / 2)
                    - (rotatedCenterBounds.Origin.Y + rotatedCenterBounds.Size.Height / 2);
                centerOffset.X = offsetX;
                centerOffset.Y = offsetY;
            }

            // Centre
            if (rotatedCenterBounds.Size.Width > 0 && rotatedCenterBounds.Size.Height > 0)
            {
                centerSprite = new CCSprite(scale9Image.Texture,
                                                          rotatedCenterBounds,
                                                          spriteFrameRotated);
                AddProtectedChild(centerSprite);
            }

            // Top
            if (rotatedCenterTopBounds.Size.Width > 0 && rotatedCenterTopBounds.Size.Height > 0)
            {
                topSprite = new CCSprite(scale9Image.Texture,
                                                       rotatedCenterTopBounds,
                                                       spriteFrameRotated);
                AddProtectedChild(topSprite);
            }

            // Bottom
            if (rotatedCenterBottomBounds.Size.Width > 0 && rotatedCenterBottomBounds.Size.Height > 0)
            {
                bottomSprite = new CCSprite(scale9Image.Texture,
                                                          rotatedCenterBottomBounds,
                                                          spriteFrameRotated);
                AddProtectedChild(bottomSprite);
            }

            // Left
            if (rotatedLeftCenterBounds.Size.Width > 0 && rotatedLeftCenterBounds.Size.Height > 0)
            {
                leftSprite = new CCSprite(scale9Image.Texture,
                                                        rotatedLeftCenterBounds,
                                                        spriteFrameRotated);
                AddProtectedChild(leftSprite);
            }

            // Right
            if (rotatedRightCenterBounds.Size.Width > 0 && rotatedRightCenterBounds.Size.Height > 0)
            {
                rightSprite = new CCSprite(scale9Image.Texture,
                                                         rotatedRightCenterBounds,
                                                         spriteFrameRotated);
                AddProtectedChild(rightSprite);
            }

            // Top left
            if (rotatedLeftTopBounds.Size.Width > 0 && rotatedLeftTopBounds.Size.Height > 0)
            {
                topLeftSprite = new CCSprite(scale9Image.Texture,
                                                           rotatedLeftTopBounds,
                                                           spriteFrameRotated);
                AddProtectedChild(topLeftSprite);
            }

            // Top right
            if (rotatedRightTopBounds.Size.Width > 0 && rotatedRightTopBounds.Size.Height > 0)
            {
                topRightSprite = new CCSprite(scale9Image.Texture,
                                                            rotatedRightTopBounds,
                                                            spriteFrameRotated);
                AddProtectedChild(topRightSprite);
            }

            // Bottom left
            if (rotatedLeftBottomBounds.Size.Width > 0 && rotatedLeftBottomBounds.Size.Height > 0)
            {
                bottomLeftSprite = new CCSprite(scale9Image.Texture,
                                                              rotatedLeftBottomBounds,
                                                              spriteFrameRotated);
                AddProtectedChild(bottomLeftSprite);
            }

            // Bottom right
            if (rotatedRightBottomBounds.Size.Width > 0 && rotatedRightBottomBounds.Size.Height > 0)
            {
                bottomRightSprite = new CCSprite(scale9Image.Texture,
                                                               rotatedRightBottomBounds,
                                                               spriteFrameRotated);
                AddProtectedChild(bottomRightSprite);
            }
        }
示例#51
0
        public TestController()
        {
            // add close menu
            var pCloseItem = new CCMenuItemImage(TestResource.s_pPathClose, TestResource.s_pPathClose, closeCallback);
            var pMenu      = new CCMenu(pCloseItem);
            var s          = CCDirector.SharedDirector.WinSize;

#if !XBOX && !OUYA
            TouchEnabled = true;
#else
            GamePadEnabled = true;
            KeypadEnabled  = true;
#endif
#if WINDOWS || MONOMAC
            GamePadEnabled = true;
#endif

            pMenu.Position      = CCPoint.Zero;
            pCloseItem.Position = new CCPoint(s.Width - 30, s.Height - 30);
#if !PSM && !WINDOWS_PHONE
#if NETFX_CORE
            CCLabelTTF versionLabel = new CCLabelTTF("v" + this.GetType().GetAssemblyName().Version.ToString(), "arial", 12);
#else
            CCLabelTTF versionLabel = new CCLabelTTF("v" + this.GetType().Assembly.GetName().Version.ToString(), "arial", 12);
#endif
            versionLabel.Position            = new CCPoint(versionLabel.ContentSizeInPixels.Width / 2f, s.Height - 18f);
            versionLabel.HorizontalAlignment = CCTextAlignment.CCTextAlignmentLeft;
            AddChild(versionLabel, 20000);
#endif
            // add menu items for tests
            m_pItemMenu = new CCMenu();
            for (int i = 0; i < (int)(TestCases.TESTS_COUNT); ++i)
            {
                var label     = new CCLabelTTF(Tests.g_aTestNames[i], "arial", 24);
                var pMenuItem = new CCMenuItemLabel(label, menuCallback);

                pMenuItem.UserData = i;
                m_pItemMenu.AddChild(pMenuItem, 10000);
#if XBOX || OUYA
                pMenuItem.Position = new CCPoint(s.Width / 2, -(i + 1) * LINE_SPACE);
#else
                pMenuItem.Position = new CCPoint(s.Width / 2, (s.Height - (i + 1) * LINE_SPACE));
#endif
                _Items.Add(pMenuItem);
            }

            m_pItemMenu.ContentSize = new CCSize(s.Width, ((int)TestCases.TESTS_COUNT + 1) * LINE_SPACE);
#if XBOX || OUYA
            CCSprite sprite = new CCSprite("Images/aButton");
            AddChild(sprite, 10001);
            _menuIndicator = sprite;
            // Center the menu on the first item so that it is
            // in the center of the screen
            _HomePosition = new CCPoint(0f, s.Height / 2f + LINE_SPACE / 2f);
            _LastPosition = new CCPoint(0f, _HomePosition.Y - (_Items.Count - 1) * LINE_SPACE);
#else
            _HomePosition = s_tCurPos;
#endif
            m_pItemMenu.Position = _HomePosition;
            AddChild(m_pItemMenu);

            AddChild(pMenu, 1);

            _GamePadDPadDelegate   = new CCGamePadDPadDelegate(MyOnGamePadDPadUpdate);
            _GamePadButtonDelegate = new CCGamePadButtonDelegate(MyOnGamePadButtonUpdate);

            // set the first one to have the selection highlight
            _CurrentItemIndex = 0;
            SelectMenuItem();
        }
示例#52
0
        void CreateObject()
        {
            // Define the dynamic body.
            var bodyDef = b2BodyDef.Create();

            bodyDef.type = b2BodyType.b2_dynamicBody;             //or you could use b2_staticBody

            bodyDef.position.Set(initialLocation.X / Constants.PTM_RATIO, initialLocation.Y / Constants.PTM_RATIO);

            var shape       = new b2PolygonShape();
            var shapeCircle = new b2CircleShape();

            if (shapeCreationMethod == CreationMethod.DiameterOfImageForCircle)
            {
                var tempSprite     = new CCSprite(spriteImageName);
                var radiusInMeters = (tempSprite.ContentSize.Width / Constants.PTM_RATIO) * 0.5f;

                shapeCircle.Radius = radiusInMeters;
            }


            else if (shapeCreationMethod == CreationMethod.ShapeOfSourceImage)
            {
                var tempSprite = new CCSprite(spriteImageName);

                var      num      = 4;
                b2Vec2[] vertices =
                {
                    new b2Vec2((tempSprite.ContentSize.Width / -2) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / 2) / Constants.PTM_RATIO),                      //top left corner
                    new b2Vec2((tempSprite.ContentSize.Width / -2) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -2) / Constants.PTM_RATIO),                     //bottom left corner
                    new b2Vec2((tempSprite.ContentSize.Width / 2) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -2) / Constants.PTM_RATIO),                      //bottom right corner
                    new b2Vec2((tempSprite.ContentSize.Width / 2) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / 2) / Constants.PTM_RATIO)                        //top right corner
                };
                shape.Set(vertices, num);
            }

            else if (shapeCreationMethod == CreationMethod.Triangle)
            {
                var tempSprite = new CCSprite(spriteImageName);

                var      num      = 3;
                b2Vec2[] vertices =
                {
                    new b2Vec2((tempSprite.ContentSize.Width / -2) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -2) / Constants.PTM_RATIO), //bottom left corner
                    new b2Vec2((tempSprite.ContentSize.Width / 2) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -2) / Constants.PTM_RATIO),  //bottom right corner
                    new b2Vec2(0.0f / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / 2) / Constants.PTM_RATIO)                                  // top center of image
                };

                shape.Set(vertices, num);
            }

            else if (shapeCreationMethod == CreationMethod.TriangleRightAngle)
            {
                var tempSprite = new CCSprite(spriteImageName);

                var      num      = 3;
                b2Vec2[] vertices =
                {
                    new b2Vec2((tempSprite.ContentSize.Width / 2) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / 2) / Constants.PTM_RATIO),                        //top right corner
                    new b2Vec2((tempSprite.ContentSize.Width / -2) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / 2) / Constants.PTM_RATIO),                       //top left corner
                    new b2Vec2((tempSprite.ContentSize.Width / -2) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -2) / Constants.PTM_RATIO)                       //bottom left corner
                };

                shape.Set(vertices, num);
            }

            else if (shapeCreationMethod == CreationMethod.Trapezoid)
            {
                var tempSprite = new CCSprite(spriteImageName);

                var      num      = 4;
                b2Vec2[] vertices =
                {
                    new b2Vec2((tempSprite.ContentSize.Width / 4) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / 2) / Constants.PTM_RATIO),                        //top of image, 3/4's across
                    new b2Vec2((tempSprite.ContentSize.Width / -4) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / 2) / Constants.PTM_RATIO),                       //top of image, 1/4's across
                    new b2Vec2((tempSprite.ContentSize.Width / -2) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -2) / Constants.PTM_RATIO),                      //bottom left corner
                    new b2Vec2((tempSprite.ContentSize.Width / 2) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -2) / Constants.PTM_RATIO),                       //bottom right corner
                };

                shape.Set(vertices, num);
            }


            else if (shapeCreationMethod == CreationMethod.Hexagon)
            {
                var tempSprite = new CCSprite(spriteImageName);

                var      num      = 6;
                b2Vec2[] vertices =
                {
                    new b2Vec2((tempSprite.ContentSize.Width / -4) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / 2) / Constants.PTM_RATIO),  //top of image, 1/4 across
                    new b2Vec2((tempSprite.ContentSize.Width / -2) / Constants.PTM_RATIO, 0.0f / Constants.PTM_RATIO),                                 // left, center
                    new b2Vec2((tempSprite.ContentSize.Width / -4) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -2) / Constants.PTM_RATIO), //bottom of image, 1/4 across
                    new b2Vec2((tempSprite.ContentSize.Width / 4) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -2) / Constants.PTM_RATIO),  //bottom of image, 3/4's across
                    new b2Vec2((tempSprite.ContentSize.Width / 2) / Constants.PTM_RATIO, 0.0f / Constants.PTM_RATIO),                                  // right, center
                    new b2Vec2((tempSprite.ContentSize.Width / 4) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / 2) / Constants.PTM_RATIO)    //top of image, 3/4's across
                };

                shape.Set(vertices, num);
            }

            else if (shapeCreationMethod == CreationMethod.Pentagon)
            {
                var tempSprite = new CCSprite(spriteImageName);

                var      num      = 5;
                b2Vec2[] vertices =
                {
                    new b2Vec2(0 / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / 2) / Constants.PTM_RATIO),                                    //top of image, center
                    new b2Vec2((tempSprite.ContentSize.Width / -2) / Constants.PTM_RATIO, 0.0f / Constants.PTM_RATIO),                                 // left, center
                    new b2Vec2((tempSprite.ContentSize.Width / -4) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -2) / Constants.PTM_RATIO), //bottom of image, 1/4 across
                    new b2Vec2((tempSprite.ContentSize.Width / 4) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -2) / Constants.PTM_RATIO),  //bottom of image, 3/4's across
                    new b2Vec2((tempSprite.ContentSize.Width / 2) / Constants.PTM_RATIO, 0.0f / Constants.PTM_RATIO),                                  // right, center
                };

                shape.Set(vertices, num);
            }

            else if (shapeCreationMethod == CreationMethod.Octagon)
            {
                var tempSprite = new CCSprite(spriteImageName);

                var      num      = 8;
                b2Vec2[] vertices =
                {
                    new b2Vec2((tempSprite.ContentSize.Width / -6) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / 2) / Constants.PTM_RATIO),                        //use the source image octogonShape.png for reference
                    new b2Vec2((tempSprite.ContentSize.Width / -2) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / 6) / Constants.PTM_RATIO),
                    new b2Vec2((tempSprite.ContentSize.Width / -2) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -6) / Constants.PTM_RATIO),
                    new b2Vec2((tempSprite.ContentSize.Width / -6) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -2) / Constants.PTM_RATIO),
                    new b2Vec2((tempSprite.ContentSize.Width / 6) / Constants.PTM_RATIO,  (tempSprite.ContentSize.Height / -2) / Constants.PTM_RATIO),
                    new b2Vec2((tempSprite.ContentSize.Width / 2) / Constants.PTM_RATIO,  (tempSprite.ContentSize.Height / -6) / Constants.PTM_RATIO),
                    new b2Vec2((tempSprite.ContentSize.Width / 2) / Constants.PTM_RATIO,  (tempSprite.ContentSize.Height / 6) / Constants.PTM_RATIO),
                    new b2Vec2((tempSprite.ContentSize.Width / 6) / Constants.PTM_RATIO,  (tempSprite.ContentSize.Height / 2) / Constants.PTM_RATIO)
                };

                shape.Set(vertices, num);
            }
            else if (shapeCreationMethod == CreationMethod.Parallelogram)
            {
                var tempSprite = new CCSprite(spriteImageName);

                var      num      = 4;
                b2Vec2[] vertices =
                {
                    new b2Vec2((tempSprite.ContentSize.Width / -4) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / 2) / Constants.PTM_RATIO),                      //top of image, 1/4 across
                    new b2Vec2((tempSprite.ContentSize.Width / -2) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -2) / Constants.PTM_RATIO),                     //bottom left corner
                    new b2Vec2((tempSprite.ContentSize.Width / 4) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -2) / Constants.PTM_RATIO),                      //bottom of image, 3/4's across
                    new b2Vec2((tempSprite.ContentSize.Width / 2) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / 2) / Constants.PTM_RATIO)                        //top right corner
                };

                shape.Set(vertices, num);
            }

            else if (shapeCreationMethod == CreationMethod.CustomCoordinates1)                 //use your own custom coordinates from a program like Vertex Helper Pro

            {
                var      num      = 4;
                b2Vec2[] vertices =
                {
                    new b2Vec2(-64.0f / Constants.PTM_RATIO,  16.0f / Constants.PTM_RATIO),
                    new b2Vec2(-64.0f / Constants.PTM_RATIO, -16.0f / Constants.PTM_RATIO),
                    new b2Vec2(64.0f / Constants.PTM_RATIO,  -16.0f / Constants.PTM_RATIO),
                    new b2Vec2(64.0f / Constants.PTM_RATIO, 16.0f / Constants.PTM_RATIO)
                };
                shape.Set(vertices, num);
            }



            // Define the dynamic body fixture.
            var fixtureDef = b2FixtureDef.Create();

            if (shapeCreationMethod == CreationMethod.DiameterOfImageForCircle)
            {
                fixtureDef.shape = shapeCircle;
            }
            else
            {
                fixtureDef.shape = shape;
            }

            fixtureDef.density     = theDensity;
            fixtureDef.friction    = 0.3f;
            fixtureDef.restitution = 0.1f;

            CreateBodyWithSpriteAndFixture(theWorld, bodyDef, fixtureDef, spriteImageName);


            if (angle != 0)
            {
                int    currentAngle     = (int)body.Angle;
                b2Vec2 locationInMeters = body.Position;
                body.SetTransform(locationInMeters, CCMacros.CCDegreesToRadians(currentAngle + angle));
            }

            if (IsStatic)
            {
                MakeBodyStatic();
            }
        }
示例#53
0
        void CreateEnemy()
        {
            // Define the dynamic body.
            var bodyDef = b2BodyDef.Create();

            bodyDef.type = b2BodyType.b2_dynamicBody;             //or you could use b2_staticBody

            bodyDef.fixedRotation = isRotationFixed;

            bodyDef.position.Set(initialLocation.X / Constants.PTM_RATIO, initialLocation.Y / Constants.PTM_RATIO);

            b2PolygonShape shape       = new b2PolygonShape();
            b2CircleShape  shapeCircle = new b2CircleShape();

            if (shapeCreationMethod == CreationMethod.DiameterOfImageForCircle)
            {
                var   tempSprite     = new CCSprite(spriteImageName);
                float radiusInMeters = (tempSprite.ContentSize.Width / Constants.PTM_RATIO) * 0.5f;

                shapeCircle.Radius = radiusInMeters;
            }


            else if (shapeCreationMethod == CreationMethod.ShapeOfSourceImage)
            {
                var tempSprite = new CCSprite(spriteImageName);

                var      num      = 4;
                b2Vec2[] vertices =
                {
                    new b2Vec2((tempSprite.ContentSize.Width / -2) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / 2) / Constants.PTM_RATIO),                      //top left corner
                    new b2Vec2((tempSprite.ContentSize.Width / -2) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -2) / Constants.PTM_RATIO),                     //bottom left corner
                    new b2Vec2((tempSprite.ContentSize.Width / 2) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -2) / Constants.PTM_RATIO),                      //bottom right corner
                    new b2Vec2((tempSprite.ContentSize.Width / 2) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / 2) / Constants.PTM_RATIO)                        //top right corner
                };
                shape.Set(vertices, num);
            }
            else if (shapeCreationMethod == CreationMethod.ShapeOfSourceImageButSlightlySmaller)
            {
                var tempSprite = new CCSprite(spriteImageName);

                var      num      = 4;
                b2Vec2[] vertices =
                {
                    new b2Vec2((tempSprite.ContentSize.Width / -2) * .8f / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / 2) * .8f / Constants.PTM_RATIO),                  //top left corner
                    new b2Vec2((tempSprite.ContentSize.Width / -2) * .8f / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -2) * .8f / Constants.PTM_RATIO),                 //bottom left corner
                    new b2Vec2((tempSprite.ContentSize.Width / 2) * .8f / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -2) * .8f / Constants.PTM_RATIO),                  //bottom right corner
                    new b2Vec2((tempSprite.ContentSize.Width / 2) * .8f / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / 2) * .8f / Constants.PTM_RATIO)                    //top right corner
                };
                shape.Set(vertices, num);
            }

            else if (shapeCreationMethod == CreationMethod.Triangle)
            {
                var tempSprite = new CCSprite(spriteImageName);

                var      num      = 3;
                b2Vec2[] vertices =
                {
                    new b2Vec2((tempSprite.ContentSize.Width / -2) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -2) / Constants.PTM_RATIO), //bottom left corner
                    new b2Vec2((tempSprite.ContentSize.Width / 2) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -2) / Constants.PTM_RATIO),  //bottom right corner
                    new b2Vec2(0.0f / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / 2) / Constants.PTM_RATIO)                                  // top center of image
                };

                shape.Set(vertices, num);
            }

            else if (shapeCreationMethod == CreationMethod.TriangleRightAngle)
            {
                var tempSprite = new CCSprite(spriteImageName);

                var      num      = 3;
                b2Vec2[] vertices =
                {
                    new b2Vec2((tempSprite.ContentSize.Width / 2) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / 2) / Constants.PTM_RATIO),                        //top right corner
                    new b2Vec2((tempSprite.ContentSize.Width / -2) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / 2) / Constants.PTM_RATIO),                       //top left corner
                    new b2Vec2((tempSprite.ContentSize.Width / -2) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -2) / Constants.PTM_RATIO)                       //bottom left corner
                };

                shape.Set(vertices, num);
            }

            else if (shapeCreationMethod == CreationMethod.Trapezoid)
            {
                var tempSprite = new CCSprite(spriteImageName);

                var      num      = 4;
                b2Vec2[] vertices =
                {
                    new b2Vec2((tempSprite.ContentSize.Width / 4) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / 2) / Constants.PTM_RATIO),                         //top of image, 3/4's across
                    new b2Vec2((tempSprite.ContentSize.Width / -4) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / 2) / Constants.PTM_RATIO),                        //top of image, 1/4's across
                    new b2Vec2((tempSprite.ContentSize.Width / -2) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -2) / Constants.PTM_RATIO),                       //bottom left corner
                    new b2Vec2((tempSprite.ContentSize.Width / 2) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -2) / Constants.PTM_RATIO),                        //bottom right corner
                };

                shape.Set(vertices, num);
            }


            else if (shapeCreationMethod == CreationMethod.Hexagon)
            {
                var tempSprite = new CCSprite(spriteImageName);

                var      num      = 6;
                b2Vec2[] vertices =
                {
                    new b2Vec2((tempSprite.ContentSize.Width / -4) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / 2) / Constants.PTM_RATIO),  //top of image, 1/4 across
                    new b2Vec2((tempSprite.ContentSize.Width / -2) / Constants.PTM_RATIO, 0.0f / Constants.PTM_RATIO),                                 // left, center
                    new b2Vec2((tempSprite.ContentSize.Width / -4) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -2) / Constants.PTM_RATIO), //bottom of image, 1/4 across
                    new b2Vec2((tempSprite.ContentSize.Width / 4) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -2) / Constants.PTM_RATIO),  //bottom of image, 3/4's across
                    new b2Vec2((tempSprite.ContentSize.Width / 2) / Constants.PTM_RATIO, 0.0f / Constants.PTM_RATIO),                                  // right, center
                    new b2Vec2((tempSprite.ContentSize.Width / 4) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / 2) / Constants.PTM_RATIO)    //top of image, 3/4's across
                };

                shape.Set(vertices, num);
            }

            else if (shapeCreationMethod == CreationMethod.Pentagon)
            {
                var tempSprite = new CCSprite(spriteImageName);

                var      num      = 5;
                b2Vec2[] vertices =
                {
                    new b2Vec2(0 / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / 2) / Constants.PTM_RATIO),                                    //top of image, center
                    new b2Vec2((tempSprite.ContentSize.Width / -2) / Constants.PTM_RATIO, 0.0f / Constants.PTM_RATIO),                                 // left, center
                    new b2Vec2((tempSprite.ContentSize.Width / -4) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -2) / Constants.PTM_RATIO), //bottom of image, 1/4 across
                    new b2Vec2((tempSprite.ContentSize.Width / 4) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -2) / Constants.PTM_RATIO),  //bottom of image, 3/4's across
                    new b2Vec2((tempSprite.ContentSize.Width / 2) / Constants.PTM_RATIO, 0.0f / Constants.PTM_RATIO),                                  // right, center
                };

                shape.Set(vertices, num);
            }

            else if (shapeCreationMethod == CreationMethod.Octagon)
            {
                var tempSprite = new CCSprite(spriteImageName);

                var      num      = 8;
                b2Vec2[] vertices =
                {
                    new b2Vec2((tempSprite.ContentSize.Width / -6) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / 2) / Constants.PTM_RATIO),                        //use the source image octogonShape.png for reference
                    new b2Vec2((tempSprite.ContentSize.Width / -2) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / 6) / Constants.PTM_RATIO),
                    new b2Vec2((tempSprite.ContentSize.Width / -2) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -6) / Constants.PTM_RATIO),
                    new b2Vec2((tempSprite.ContentSize.Width / -6) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -2) / Constants.PTM_RATIO),
                    new b2Vec2((tempSprite.ContentSize.Width / 6) / Constants.PTM_RATIO,  (tempSprite.ContentSize.Height / -2) / Constants.PTM_RATIO),
                    new b2Vec2((tempSprite.ContentSize.Width / 2) / Constants.PTM_RATIO,  (tempSprite.ContentSize.Height / -6) / Constants.PTM_RATIO),
                    new b2Vec2((tempSprite.ContentSize.Width / 2) / Constants.PTM_RATIO,  (tempSprite.ContentSize.Height / 6) / Constants.PTM_RATIO),
                    new b2Vec2((tempSprite.ContentSize.Width / 6) / Constants.PTM_RATIO,  (tempSprite.ContentSize.Height / 2) / Constants.PTM_RATIO)
                };

                shape.Set(vertices, num);
            }
            else if (shapeCreationMethod == CreationMethod.Parallelogram)
            {
                var tempSprite = new CCSprite(spriteImageName);

                var      num      = 4;
                b2Vec2[] vertices =
                {
                    new b2Vec2((tempSprite.ContentSize.Width / -4) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / 2) / Constants.PTM_RATIO),                      //top of image, 1/4 across
                    new b2Vec2((tempSprite.ContentSize.Width / -2) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -2) / Constants.PTM_RATIO),                     //bottom left corner
                    new b2Vec2((tempSprite.ContentSize.Width / 4) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / -2) / Constants.PTM_RATIO),                      //bottom of image, 3/4's across
                    new b2Vec2((tempSprite.ContentSize.Width / 2) / Constants.PTM_RATIO, (tempSprite.ContentSize.Height / 2) / Constants.PTM_RATIO)                        //top right corner
                };

                shape.Set(vertices, num);
            }

            else if (shapeCreationMethod == CreationMethod.CustomCoordinates1)                 //use your own custom coordinates from a program like Vertex Helper Pro

            {
                var      num      = 4;
                b2Vec2[] vertices =
                {
                    new b2Vec2(-64.0f / Constants.PTM_RATIO,  16.0f / Constants.PTM_RATIO),
                    new b2Vec2(-64.0f / Constants.PTM_RATIO, -16.0f / Constants.PTM_RATIO),
                    new b2Vec2(64.0f / Constants.PTM_RATIO,  -16.0f / Constants.PTM_RATIO),
                    new b2Vec2(64.0f / Constants.PTM_RATIO, 16.0f / Constants.PTM_RATIO)
                };
                shape.Set(vertices, num);
            }

            // Define the dynamic body fixture.
            var fixtureDef = b2FixtureDef.Create();

            if (shapeCreationMethod == CreationMethod.DiameterOfImageForCircle)
            {
                fixtureDef.shape = shapeCircle;
            }
            else
            {
                fixtureDef.shape = shape;
            }

            fixtureDef.density     = theDensity;
            fixtureDef.friction    = 0.3f;
            fixtureDef.restitution = 0.1f;              //how bouncy basically

            CreateBodyWithSpriteAndFixture(theWorld, bodyDef, fixtureDef, spriteImageName);


            var blinkInterval = Cocos2D.CCRandom.Next(3, 8); // range 3 to 8

            Schedule(Blink, blinkInterval);                  //comment this out if you never want to show the blink
        }
示例#54
0
        public IntervalLayer()
        {
            m_time0 = m_time1 = m_time2 = m_time3 = m_time4 = 0.0f;

            CCSize s = Layer.VisibleBoundsWorldspace.Size;

            // sun
            CCParticleSystem sun = new CCParticleSun(new CCPoint(s.Width / 2, s.Height / 2));

            sun.Texture  = CCTextureCache.SharedTextureCache.AddImage("Images/fire");
            sun.Position = (new CCPoint(s.Width - 32, s.Height - 32));

            sun.TotalParticles = 130;
            sun.Life           = (0.6f);
            AddChild(sun);

            // timers
            m_label0 = new CCLabelBMFont("0", "fonts/bitmapFontTest4.fnt");
            m_label1 = new CCLabelBMFont("0", "fonts/bitmapFontTest4.fnt");
            m_label2 = new CCLabelBMFont("0", "fonts/bitmapFontTest4.fnt");
            m_label3 = new CCLabelBMFont("0", "fonts/bitmapFontTest4.fnt");
            m_label4 = new CCLabelBMFont("0", "fonts/bitmapFontTest4.fnt");

            Schedule();

            Schedule(step1);
            Schedule(step2, 0);
            Schedule(step3, 1.0f);
            Schedule(step4, 2.0f);

            m_label0.Position = new CCPoint(s.Width * 1 / 6, s.Height / 2);
            m_label1.Position = new CCPoint(s.Width * 2 / 6, s.Height / 2);
            m_label2.Position = new CCPoint(s.Width * 3 / 6, s.Height / 2);
            m_label3.Position = new CCPoint(s.Width * 4 / 6, s.Height / 2);
            m_label4.Position = new CCPoint(s.Width * 5 / 6, s.Height / 2);

            AddChild(m_label0);
            AddChild(m_label1);
            AddChild(m_label2);
            AddChild(m_label3);
            AddChild(m_label4);

            // Sprite
            CCSprite sprite = new CCSprite(s_pPathGrossini);

            sprite.Position = new CCPoint(40, 50);

            CCJumpBy jump = new CCJumpBy(3, new CCPoint(s.Width - 80, 0), 50, 4);

            AddChild(sprite);
            sprite.RunAction(new CCRepeatForever(
                                 (CCFiniteTimeAction)(new CCSequence(jump, jump.Reverse())))
                             );

            // pause button
            CCMenuItem item1 = new CCMenuItemFont("Pause", onPause);
            CCMenu     menu  = new CCMenu(item1);

            menu.Position = new CCPoint(s.Width / 2, s.Height - 50);

            AddChild(menu);
        }
示例#55
0
        private void performancePosition(CCSprite pSprite)
        {
            CCSize size = CCDirector.SharedDirector.WinSize;

            pSprite.Position = new CCPoint((CCRandom.Next() % (int)size.Width), (CCRandom.Next() % (int)size.Height));
        }
示例#56
0
        public CCSprite createSpriteWithTag(int tag)
        {
            // create

            CCSprite sprite = null;

            switch (subtestNumber)
            {
            case 1:
            {
                sprite = new CCSprite("Images/grossinis_sister1");
                parent.AddChild(sprite, 0, tag + 100);
                break;
            }

            case 2:
            case 3:
            {
                sprite = new CCSprite(batchNode.Texture, new CCRect(0, 0, 52, 139));
                batchNode.AddChild(sprite, 0, tag + 100);
                break;
            }

            case 4:
            {
                var    idx = CCRandom.Next(1, 14);
                string str = string.Format("Images/grossini_dance_{0:00}", idx);
                sprite = new CCSprite(str);
                parent.AddChild(sprite, 0, tag + 100);
                break;
            }

            case 5:
            case 6:
            {
                int y, x;
                var r = (int)(CCRandom.Float_0_1() * 1400 / 100);

                y = r / 5;
                x = r % 5;

                x     *= 85;
                y     *= 121;
                sprite = new CCSprite(batchNode.Texture, new CCRect(x, y, 85, 121));
                batchNode.AddChild(sprite, 0, tag + 100);
                break;
            }

            case 7:
            {
                int y, x;
                var r = (int)(CCRandom.Float_0_1() * 1400 / 100);

                y = r / 8;
                x = r % 8;

                string str = string.Format("Images/sprites_test/sprite-{0}-{1}", x, y);
                sprite = new CCSprite(str);
                parent.AddChild(sprite, 0, tag + 100);
                break;
            }

            case 8:
            case 9:
            {
                int y, x;
                var r = (int)(CCRandom.Float_0_1() * 6400 / 100);

                y = r / 8;
                x = r % 8;

                x     *= 32;
                y     *= 32;
                sprite = new CCSprite(batchNode.Texture, new CCRect(x, y, 32, 32));
                batchNode.AddChild(sprite, 0, tag + 100);
                break;
            }

            default:
                break;
            }

            return(sprite);
        }
示例#57
0
 private void InitGraphic()
 {
     _graphic = new CCSprite("/Assets/Content/Images/Periphery/roastedChicken.png");
     _graphic.IsAntialiased = false;
     AddChild(_graphic);
 }
示例#58
0
 public Peace(CCSprite s, CCPoint a)
 {
     Sprite       = s;
     AssembledPos = a;
 }
示例#59
0
 bool isTouchingPeace(CCTouch touch, CCSprite peace)
 {
     // This includes the rectangular white space around our sprite
     return(peace.BoundingBox.ContainsPoint(touch.Location));
 }
        public CCScale9Sprite(CCSprite sprite, CCRect rect, bool rotated, CCRect capInsets)
            : this()
        {
            if (sprite != null)
            {
                UpdateWithSprite(sprite, rect, rotated, capInsets);
            }

        }