public MenuLayerPriorityTest()
        {
            // Testing empty menu
            m_pMenu1 = new CCMenu();
            m_pMenu2 = new CCMenu();


            // Menu 1
            CCMenuItemFont item1 = new CCMenuItemFont("Return to Main Menu", menuCallback);
            CCMenuItemFont item2 = new CCMenuItemFont("Disable menu for 5 seconds", disableMenuCallback);


            m_pMenu1.AddChild(item1);
            m_pMenu1.AddChild(item2);

            m_pMenu1.AlignItemsVertically(2);

            AddChild(m_pMenu1);

            // Menu 2
            m_bPriority = true;
            //CCMenuItemFont.setFontSize(48);
            item1 = new CCMenuItemFont("Toggle priority", togglePriorityCallback);
            item1.Scale = 1.5f;
            item1.Color = new CCColor3B(0, 0, 255);
            m_pMenu2.AddChild(item1);
            AddChild(m_pMenu2);
        }
        public override void OnEnter()
        {
            base.OnEnter();

            // Testing empty menu
            menu1 = new CCMenu();
            menu2 = new CCMenu();


            // Menu 1
            var item1 = new CCMenuItemFont("Return to Main Menu", menuCallback);
            var item2 = new CCMenuItemFont("Disable menu for 5 seconds", disableMenuCallback);


            menu1.AddChild(item1);
            menu1.AddChild(item2);

            menu1.AlignItemsVertically(2);

            AddChild(menu1);

            // Menu 2
            priority = true;
            //CCMenuItemFont.setFontSize(48);
            item1 = new CCMenuItemFont("Toggle priority", togglePriorityCallback);
            item1.Scale = 1.5f;
            item1.Color = new CCColor3B(0, 0, 255);
            menu2.AddChild(item1);
            AddChild(menu2);
        }
		public override void OnEnter()
		{
			base.OnEnter();

			var s = Layer.VisibleBoundsWorldspace.Size;

			var sprite = new CCSprite("Images/grossinis_sister1.png");
			sprite.Position = VisibleBoundsWorldspace.Center;
			AddChild(sprite);
			sprite.RepeatForever(rotateBy);

			// Add a menu item to resume the Scheduled actions.

			CCMenuItemFont.FontSize = 32;
			CCMenuItemFont.FontName = "MarkerFelt";
			var menu = new CCMenu(
				new CCMenuItemFont("Resume", resume)
			);

			menu.AlignItemsVertically(4);
			menu.Position = new CCPoint(s.Width / 2, s.Height / 4);
			AddChild(menu);


			Schedule ();
			Schedule (tick1, 0.5f);
			Schedule (tick2, 1.0f);
			Schedule (pause, 3.0f, 0, 0);
		}
Beispiel #4
0
		public HighScoreLayer (int score): base()
		{
			currentScore = score;


			var batchnode = GetChildByTag ((int)Tags.SpriteManager) as CCSpriteBatchNode;
			var title = new CCSprite(batchnode.Texture,new CCRect(608,192,225,57));
            title.Position=new CCPoint(160,240);
			batchnode.AddChild (title);



			var button1 = new CCMenuItemImage("Images/playAgainButton", "Images/playAgainButton",
                new Action<object>(delegate(object o) {
			 	 Director.ReplaceScene(new CCTransitionFade(.5f, GameLayer.Scene, new CCColor3B(255,255,255)));
                }));
			var button2 = new CCMenuItemImage("Images/changePlayerButton", "Images/changePlayerButton", new Action<object>(delegate (object sender) {
                // do nothing
			}));
			var menu = new CCMenu(button1,button2);
            menu.Position=new CCPoint(160,58);
			menu.AlignItemsVertically(9);

			AddChild (menu);
			

		}
Beispiel #5
0
        public LabelTTFTest()
        {

            CCMenuItemFont.FontSize = 32;
            CCMenuItemFont.FontName = "MarkerFelt";

            menuLeft = new CCMenu(
                new CCMenuItemFont("Left", setAlignmentLeft),
                new CCMenuItemFont("Center", setAlignmentCenter),
                new CCMenuItemFont("Right", setAlignmentRight)
            );
            menuLeft.AlignItemsVertically(4);

            AddChild(menuLeft);

            menuRight = new CCMenu(
                new CCMenuItemFont("Top", setAlignmentTop),
                new CCMenuItemFont("Middle", setAlignmentMiddle),
                new CCMenuItemFont("Bottom", setAlignmentBottom)
            );
            menuRight.AlignItemsVertically(4);

            AddChild(menuRight);

        }
Beispiel #6
0
		public NodeToWorld3D()
		{
			//
			// This code tests that nodeToParent works OK:
			//  - It tests different anchor Points
			//  - It tests different children anchor points

			parent = new CCNode();
			parent.AnchorPoint = new CCPoint(0.5f, 0.5f);
			AddChild(parent);

			back = new CCSprite(TestResource.s_back3);
			parent.AddChild(back, -10);
			back.AnchorPoint = CCPoint.Zero;


			var item = new CCMenuItemImage(TestResource.s_PlayNormal, TestResource.s_PlaySelect);
			menu = new CCMenu(item);
			menu.AlignItemsVertically();

			back.AddChild(menu);

			item.RepeatForever(CocosNodeTestStaticLibrary.nodeRotate);

			back.RepeatForever(CocosNodeTestStaticLibrary.nodeMove, CocosNodeTestStaticLibrary.nodeMove.Reverse());

			parent.RunAction (CocosNodeTestStaticLibrary.nodeOrbit);
		}
Beispiel #7
0
        public void reset()
        {

            int localtag = 0;
            localtag++;

            // TO TRIGGER THE BUG:
            // remove the itself from parent from an action
            // The menu will be removed, but the instance will be alive
            // and then a new node will be allocated occupying the memory.
            // => CRASH BOOM BANG
            CCNode node = GetChildByTag(localtag - 1);
            CCLog.Log("Menu: %p", node);
            RemoveChild(node, false);
            //	[self removeChildByTag:localtag-1 cleanup:NO];

            CCMenuItem item1 = new CCMenuItemFont("One", menuCallback);
            CCLog.Log("MenuItemFont: %p", item1);
            CCMenuItem item2 = new CCMenuItemFont("Two", menuCallback);
            CCMenu menu = new CCMenu(item1, item2);
            menu.AlignItemsVertically();

            float x = CCRandom.Next() * 50;
            float y = CCRandom.Next() * 50;
            menu.Position = menu.Position + new CCPoint(x, y);
            AddChild(menu, 0, localtag);

            //[self check:self];
        }
 /// <summary>
 /// 
 /// </summary>
 public MainMenuLayer()
 {
     Color = CCColor3B.White;
     Opacity = 127;
     Menu = new CCMenu
         (
             new CCMenuItemLabel(new Label("Retour", CCColor3B.Black), ComeBackToGame),
             new CCMenuItemLabel(new Label("Quitter", CCColor3B.Black), LeaveGame)
         );
     Menu.AlignItemsVertically(MENU_ALIGN_PADDING);
 }
Beispiel #9
0
        public SceneTestLayer1()
        {
            CCMenuItemFont item1 = new CCMenuItemFont("(1) Test PushScene", onPushScene);
            CCMenuItemFont item2 = new CCMenuItemFont("(1) Test PushScene w/Transition", onPushSceneTran);
            CCMenuItemFont item3 = new CCMenuItemFont("(1) Quit", onQuit);
            popMenuItem = new CCMenuItemFont("(1) Test PopScene w/Transition", onPopSceneTran);

            theMenu = new CCMenu(item1, item2, item3, popMenuItem);
            theMenu.AlignItemsVertically();

            AddChild(theMenu);

			CCSprite sprite = new CCSprite(SceneTestScene.grossini) { Tag = SceneTestScene.GROSSINI_TAG };
            AddChild(sprite);
            
        }
Beispiel #10
0
        public SceneTestLayer3() : base(new CCColor4B(0, 0, 255, 255))
        {
            var item0 = new CCMenuItemFont("(3) Touch to pushScene (self)", item0Clicked);
            var item1 = new CCMenuItemFont("(3) Touch to popScene", item1Clicked);
            var item2 = new CCMenuItemFont("(3) Touch to popToRootScene", item2Clicked);
            var item3 = new CCMenuItemFont("(3) Touch to popToSceneStackLevel(2)", item3Clicked);

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

            AddChild(menu);

			CCSprite sprite = new CCSprite(SceneTestScene.grossini) { Tag = SceneTestScene.GROSSINI_TAG};
            AddChild(sprite);
            
        }
Beispiel #11
0
        public SceneTestLayer2()
        {
            m_timeCounter = 0;

            CCMenuItemFont item1 = new CCMenuItemFont("(2) replaceScene", onReplaceScene);
            CCMenuItemFont item2 = new CCMenuItemFont("(2) replaceScene w/transition", onReplaceSceneTran);
            CCMenuItemFont item3 = new CCMenuItemFont("(2) Go Back", onGoBack);
            popMenuItem = new CCMenuItemFont("(2) Test popScene w/transition", onPopSceneTran);

			theMenu = new CCMenu(item1, item2, item3, popMenuItem);
            theMenu.AlignItemsVertically();

            AddChild(theMenu);

			CCSprite sprite = new CCSprite(SceneTestScene.grossini) { Tag = SceneTestScene.GROSSINI_TAG };
            AddChild(sprite);
        }
        protected override void AddedToScene() {
            base.AddedToScene();

            var _menuPos = new CCPoint(Settings.ScreenSize.Center);

            CCLabelTtf labelStartGame = GetMenuLabel("Start Game");
            CCMenuItem itemStart = new CCMenuItemLabelTTF(labelStartGame, StartGame);

            CCLabelTtf labelExit = GetMenuLabel("Exit Game");
            CCMenuItem itemExit = new CCMenuItemLabelTTF(labelExit, ExitGame);


            MainMenu = new CCMenu(itemStart, itemExit) {Position = _menuPos};
            MainMenu.AlignItemsVertically(15);

            AddChild(MainMenu);
        }
        protected override void AddedToScene()
        {
            base.AddedToScene();

            Scene.SceneResolutionPolicy = CCSceneResolutionPolicy.ShowAll;

            var winSize = Window.WindowSizeInPixels;
            var backgroundImage = new CCSprite("WoodRetroApple_iPad_HomeScreen.jpg");
            backgroundImage.Position = new CCPoint(winSize.Width / 2, winSize.Height / 2);
            _appScale = winSize.Height / backgroundImage.ContentSize.Height;
            backgroundImage.ScaleX = _appScale;
            backgroundImage.ScaleY = _appScale;
            AddChild(backgroundImage, -2);

            var monsters = new CCSprite("backgroundMonsters2.png");
            monsters.Position = new CCPoint(winSize.Width / 2, winSize.Height / 2);
            monsters.ScaleX = _appScale;
            monsters.ScaleY = _appScale;
            AddChild(monsters, -1);

            var logo = new CCSprite("MonsterSmashing.png");
            logo.Position = new CCPoint(winSize.Width/2, winSize.Height * 0.7f);
            logo.Scale = _appScale;
            AddChild(logo);

            var startGameButtonImage = new CCMenuItemImage("play.png", "playSelected.png", obj =>
                {
                    var transition = new CCTransitionFlipAngular(0.5f, MonsterRun.GameScene(Window), CCTransitionOrientation.DownOver);
                    Window.DefaultDirector.ReplaceScene(transition);
                });
            startGameButtonImage.Scale = _appScale;

            _soundOn = new CCMenuItemImage("soundOn.png", "soundOnSelected.png");
            _soundOff = new CCMenuItemImage("soundOff.png", "soundOffSelected.png");
            var toggleItem = new CCMenuItemToggle(obj => {}, _soundOn, _soundOff);
            toggleItem.Scale = _appScale;

            var menu = new CCMenu(startGameButtonImage, toggleItem);
            menu.Position = new CCPoint(winSize.Width * 0.5f, winSize.Height * 0.4f);
            menu.AlignItemsVertically(15);
            AddChild(menu);
        }
        public Bug914Layer()
        {
            // always call "super" init
            // Apple recommends to re-assign "self" with the "super" return value
			// Register Touch Event
			var touchListener = new CCEventListenerTouchAllAtOnce();

			touchListener.OnTouchesBegan = onTouchesBegan;
			touchListener.OnTouchesMoved = onTouchesMoved;

            AddEventListener(touchListener);

            // ask director the the window size
            CCSize size = Layer.VisibleBoundsWorldspace.Size;
            CCLayerColor layer;
            for (int i = 0; i < 5; i++)
            {
                layer = new CCLayerColor(new CCColor4B((byte)(i*20), (byte)(i*20), (byte)(i*20),255));
                layer.ContentSize = new CCSize(i * 100, i * 100);
                layer.Position = new CCPoint(size.Width / 2, size.Height / 2);
                layer.AnchorPoint = new CCPoint(0.5f, 0.5f);
                layer.IgnoreAnchorPointForPosition = true;
                AddChild(layer, -1 - i);
                    
            }

            // create and initialize a Label
            var label = new CCLabel("Hello World", "Marker Felt", 64, CCLabelFormat.SpriteFont);
            CCMenuItem item1 = new CCMenuItemFont("restart", restart);

            CCMenu menu = new CCMenu(item1);
            menu.AlignItemsVertically();
            menu.Position = new CCPoint(size.Width / 2, 100);
            AddChild(menu);

            // position the label on the center of the screen
            label.Position = new CCPoint(size.Width / 2, size.Height / 2);

            // add the label as a child to this Layer
            AddChild(label);
        }
Beispiel #15
0
        public LabelTTFTest()
        {
            var blockSize = new CCSize(200, 160);
			var s = Layer.VisibleBoundsWorldspace.Size;

			var colorLayer = new CCLayerColor(new CCColor4B(100, 100, 100, 255));
			colorLayer.AnchorPoint = CCPoint.Zero;
            colorLayer.Position = new CCPoint((s.Width - blockSize.Width) / 2, (s.Height - blockSize.Height) / 2);

            AddChild(colorLayer);

			CCMenuItemFont.FontSize = 32;
			CCMenuItemFont.FontName = "MarkerFelt";

			var menu = new CCMenu(
				new CCMenuItemFont("Left", setAlignmentLeft),
				new CCMenuItemFont("Center", setAlignmentCenter),
				new CCMenuItemFont("Right", setAlignmentRight)
                );
            menu.AlignItemsVertically(4);
            menu.Position = new CCPoint(50, s.Height / 2 - 20);
            AddChild(menu);

            menu = new CCMenu(
				new CCMenuItemFont("Top", setAlignmentTop),
				new CCMenuItemFont("Middle", setAlignmentMiddle),
				new CCMenuItemFont("Bottom", setAlignmentBottom)
                );
            menu.AlignItemsVertically(4);
            menu.Position = new CCPoint(s.Width - 50, s.Height / 2 - 20);
            AddChild(menu);

            m_plabel = null;
            m_eHorizAlign = CCTextAlignment.Left;
            m_eVertAlign = CCVerticalTextAlignment.Top;

            updateAlignment();
        }
Beispiel #16
0
        public override void OnEnter() {
            base.OnEnter();

            if (Parent.Tag == Tags.Client) {
                var label = new CCLabelTtf("Store", "kongtext", 8) {
                    Color = CCColor3B.White,
                    PositionY = 30,
                    PositionX = -5,
                    IsAntialiased = false
                };

                AddChild(label, 10);
            }

            // adding shop GUI
            upgradeHp = new CCMenuItemImage(Resources.GuiIncrease, Resources.GuiIncreaseActive,
                Resources.GuiIncreaseInactive, UpgradeHp);
            upgradeHp.AddChild(labelHp);

            upgradeAttack = new CCMenuItemImage(Resources.GuiIncrease, Resources.GuiIncreaseActive,
                Resources.GuiIncreaseInactive, UpgradeAttack);
            upgradeAttack.AddChild(labelAttack);

            upgradeSpeed = new CCMenuItemImage(Resources.GuiIncrease, Resources.GuiIncreaseActive,
                Resources.GuiIncreaseInactive, UpgradeSpeed);
            upgradeSpeed.AddChild(labelSpeed);

            upgradeClass = new CCMenuItemImage(Resources.GuiIncrease, Resources.GuiIncreaseActive,
                Resources.GuiIncreaseInactive, UpgradeClass);
            upgradeClass.AddChild(labelClass);

            var upgradeMenu = new CCMenu(upgradeHp, upgradeAttack, upgradeSpeed, upgradeClass) {
                Position = new CCPoint(70, 30),
            };
            upgradeMenu.AlignItemsVertically();

            AddChild(upgradeMenu);
        }
Beispiel #17
0
        private void InitBug458Layer()
        {
            // ask director the the window size
            CCSize size = Layer.VisibleBoundsWorldspace.Size;

            QuestionContainerSprite question = new QuestionContainerSprite();
            QuestionContainerSprite question2 = new QuestionContainerSprite();

            //		[question setContentSize:CGSizeMake(50,50)];
            //		[question2 setContentSize:CGSizeMake(50,50)];

            CCMenuItemImage sprite = new CCMenuItemImage(question2, question, selectAnswer);

            //CCLayerColor layer = new CCLayerColor(new CCColor4B(0, 0, 255, 255), 100, 100);
            //CCLayerColor layer2 = new CCLayerColor(new CCColor4B(255, 0, 0, 255), 100, 100);
            //CCMenuItemImage sprite2 = new CCMenuItemImage(layer, layer2, this, selectAnswer);
            CCMenu menu = new CCMenu(sprite, null);
            menu.AlignItemsVertically(100);
            menu.Position = new CCPoint(size.Width / 2, size.Height / 2);

            // add the label as a child to this Layer
            AddChild(menu);

        }
        protected override void AddedToScene()
        {
            base.AddedToScene();

            // ask director the the window size
            var size = VisibleBoundsWorldspace.Size;

            // create and initialize a Label
            label = new CCLabel(LongSentencesExample, "fonts/markerFelt.fnt", new CCSize(size.Width / 3f, 0),
				CCTextAlignment.Center);
            //label.LineBreakWithoutSpace = true;
            arrowsBar = new CCSprite("Images/arrowsBar");
			arrows = new CCSprite("Images/arrows");

			CCMenuItemFont.FontSize = 20;
			CCMenuItemFont.FontName = "arial";
			var longSentences = new CCMenuItemFont("Long Flowing Sentences", stringChanged);
			var lineBreaks = new CCMenuItemFont("Short Sentences With Intentional Line Breaks", stringChanged);
			var mixed = new CCMenuItemFont("Long Sentences Mixed With Intentional Line Breaks", stringChanged);
			var stringMenu = new CCMenu(longSentences, lineBreaks, mixed);
			stringMenu.AlignItemsVertically();

			longSentences.Color = CCColor3B.Red;
			lastSentenceItem = longSentences;
			longSentences.Tag = LongSentences;
			lineBreaks.Tag = LineBreaks;
			mixed.Tag = Mixed;

			CCMenuItemFont.FontSize = 30;

			var left = new CCMenuItemFont("Left", alignmentChanged);
			var center = new CCMenuItemFont("Center", alignmentChanged);
			var right = new CCMenuItemFont("Right", alignmentChanged);

			var alignmentMenu = new CCMenu(left, center, right);
			alignmentMenu.AlignItemsHorizontally(alignmentItemPadding);

			center.Color = CCColor3B.Red;
            lastAlignmentItem = center;
			left.Tag = LeftAlign;
			center.Tag = CenterAlign;
			right.Tag = RightAlign;

			// position the label on the center of the screen
			label.Position = size.Center;

			arrowsBar.Visible = false;

			float arrowsWidth = (ArrowsMax - ArrowsMin) * size.Width;
			arrowsBar.ScaleX = (arrowsWidth / arrowsBar.ContentSize.Width);
			arrowsBar.Position = new CCPoint(((ArrowsMax + ArrowsMin) / 2) * size.Width, label.Position.Y);

			snapArrowsToEdge();

			stringMenu.Position = new CCPoint(size.Width / 2, size.Height - menuItemPaddingCenter);
			alignmentMenu.Position = new CCPoint(size.Width / 2, menuItemPaddingCenter + 15);

			AddChild(label);
			AddChild(arrowsBar);
			AddChild(arrows);
			AddChild(stringMenu);
			AddChild(alignmentMenu);
		}
Beispiel #19
0
        public MenuLayer1()
        {

			// Register Touch Event
			touchListener = new CCEventListenerTouchOneByOne();
			touchListener.IsSwallowTouches = true;

			touchListener.OnTouchBegan = onTouchBegan;
			touchListener.OnTouchMoved = onTouchMoved;
			touchListener.OnTouchEnded = onTouchEnded;
			touchListener.OnTouchCancelled = onTouchCancelled;

			AddEventListener(touchListener, 1);

			// We do not have an HD version of the menuitemsprite so internally CocosSharp tries to convert our
			// rectangle coordinates passed to work with HD images so the coordinates are off.  We will just 
			// modify this here to make sure we have the correct sizes when they are passed.
			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));


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

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

            // Label Item (LabelAtlas)
            var labelAtlas = new CCLabelAtlas("0123456789", "Images/fps_Images.png", 12, 32, '.');
            var item3 = new CCMenuItemLabelAtlas(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", (sender) => 
				{
					disabledItem.Enabled = !disabledItem.Enabled;

				});

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


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

			CCMenuItemFont.FontSize = 30;
            // Events
            CCMenuItemFont item6 = new CCMenuItemFont("Priority Test", menuCallbackPriorityTest);

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

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

            disabledItem = item3;
            disabledItem.Enabled = false;

            AddChild(menu);
			menu.Scale = 0;
			menu.RunAction(new CCScaleTo(1, 1));
        }
        public GoblinLayer()
        {

            CCMenuItemFont.FontName = "arial";
            CCMenuItemFont.FontSize = 12;

            labelBones = new CCMenuItemFont("B = Toggle Debug Bones", (obj) =>
                {
                    skeletonNode.DebugBones = !skeletonNode.DebugBones;
                }
            
            ) { AnchorPoint = CCPoint.AnchorMiddleLeft };

            labelSlots = new CCMenuItemFont("M = Toggle Debug Slots", (obj) =>
                {
                    skeletonNode.DebugSlots = !skeletonNode.DebugSlots;
                }

            ) { AnchorPoint = CCPoint.AnchorMiddleLeft };

            labelSkin = new CCMenuItemFont("S = Toggle Skin", (obj) =>
                {
                    if (skeletonNode.Skeleton.Skin.Name == "goblin")
                        skeletonNode.SetSkin("goblingirl");
                    else
                        skeletonNode.SetSkin("goblin");
                }

            ) { AnchorPoint = CCPoint.AnchorMiddleLeft };

            labelTimeScaleUp = new CCMenuItemFont("Up - TimeScale +", (obj) =>
                {
                    skeletonNode.TimeScale += 0.1f;
                }

            ) { AnchorPoint = CCPoint.AnchorMiddleLeft };

            labelTimeScaleDown = new CCMenuItemFont("Down - TimeScale -", (obj) =>
                {
                    skeletonNode.TimeScale -= 0.1f;
                }

            ) { AnchorPoint = CCPoint.AnchorMiddleLeft };

            labelAction = new CCMenuItemFont("A = Toggle Move Action", (obj) =>
                {
                    if (isMoving)
                    {
                        StopAction(skeletonActionState);
                        isMoving = false;
                    }
                    else
                    {
                        skeletonActionState = skeletonNode.RepeatForever(skeletonMoveAction);
                        isMoving = true;
                    }
                }

            ) { AnchorPoint = CCPoint.AnchorMiddleLeft };

            labelScene = new CCMenuItemFont("P = SpineBoy", (obj) =>
                {
                    Director.ReplaceScene(SpineBoyLayer.Scene(Window));
                }

            ) { AnchorPoint = CCPoint.AnchorMiddleLeft };

            menu = new CCMenu(labelBones, labelSlots, labelSkin, labelTimeScaleUp, labelTimeScaleDown, labelAction, labelScene);
            menu.AlignItemsVertically();
            AddChild(menu);

            String name = @"goblins-ffd";
            //String name = @"goblins";
            skeletonNode = new CCSkeletonAnimation(name + ".json", name + ".atlas", 0.5f);
            skeletonNode.PremultipliedAlpha = true;

            skeletonNode.SetSkin("goblin");

            //var wt = skeletonNode.NodeToWorldTransform;
            skeletonNode.SetSlotsToSetupPose();
            skeletonNode.UpdateWorldTransform();

            skeletonNode.AddAnimation(0, "walk", true, 4);
            skeletonNode.SetAnimation(0, "walk", true);

            skeletonNode.Start += Start;
            skeletonNode.End += End;
            skeletonNode.Complete += Complete;
            skeletonNode.Event += Event;

            //skeletonNode.RepeatForever(new CCFadeOut(1), new CCFadeIn(1));

            AddChild(skeletonNode);

            var listener = new CCEventListenerTouchOneByOne();
            listener.OnTouchBegan = (touch, touchEvent) =>
                {
                    if (!skeletonNode.DebugBones)
                    {
                        skeletonNode.DebugBones = true; 
                    }
                    else if (skeletonNode.TimeScale == 1)
                        skeletonNode.TimeScale = 0.3f;
                    else if (skeletonNode.Skeleton.Skin.Name == "goblin")
                        skeletonNode.SetSkin("goblingirl");
                    return true;
                };

			AddEventListener(listener, this);

            var keyListener = new CCEventListenerKeyboard();
            keyListener.OnKeyPressed = (keyEvent) =>
                {
                    switch (keyEvent.Keys)
                    {
                        case CCKeys.B:
                            skeletonNode.DebugBones = !skeletonNode.DebugBones;
                            break;
                        case CCKeys.M:
                            skeletonNode.DebugSlots = !skeletonNode.DebugSlots;
                            break;
                        case CCKeys.S:
                            if (skeletonNode.Skeleton.Skin.Name == "goblin")
                                skeletonNode.SetSkin("goblingirl");
                            else
                                skeletonNode.SetSkin("goblin");
                            break;
                        case CCKeys.Up:
                            skeletonNode.TimeScale += 0.1f;
                            break;
                        case CCKeys.Down:
                            skeletonNode.TimeScale -= 0.1f;
                            break;
                        case CCKeys.A:
                            if (isMoving)
                            {
								StopAction(skeletonActionState);
                                isMoving = false;
                            }
                            else
                            {
                                skeletonActionState = skeletonNode.RepeatForever(skeletonMoveAction);
                                isMoving = true;
                            }
                            break;
                        case CCKeys.P:
							Director.ReplaceScene(SpineBoyLayer.Scene(Window));
                            break;
                    }

                };
			AddEventListener(keyListener, this);
        }
        public SpineBoyLayer()
        {
            CCMenuItemFont.FontName = "arial";
            CCMenuItemFont.FontSize = 12;

            labelBones = new CCMenuItemFont("B = Toggle Debug Bones", (obj) =>
                {
                    skeletonNode.DebugBones = !skeletonNode.DebugBones;
                }

            ) { AnchorPoint = CCPoint.AnchorMiddleLeft };

            labelSlots = new CCMenuItemFont("M = Toggle Debug Slots", (obj) =>
                {
                    skeletonNode.DebugSlots = !skeletonNode.DebugSlots;
                }

            ) { AnchorPoint = CCPoint.AnchorMiddleLeft };

            labelTimeScaleUp = new CCMenuItemFont("Up - TimeScale +", (obj) =>
                {
                    skeletonNode.TimeScale += 0.1f;
                }

            ) { AnchorPoint = CCPoint.AnchorMiddleLeft };

            labelTimeScaleDown = new CCMenuItemFont("Down - TimeScale -", (obj) =>
                {
                    skeletonNode.TimeScale -= 0.1f;
                }

            ) { AnchorPoint = CCPoint.AnchorMiddleLeft };

            labelScene = new CCMenuItemFont("G = Goblins", (obj) =>
                {
                    Director.ReplaceScene(GoblinLayer.Scene(Window));
                }

            ) { AnchorPoint = CCPoint.AnchorMiddleLeft };

            labelJump = new CCMenuItemFont("J = Jump", (obj) =>
                {
                    // I truthfully do not know if this is how it is done or not
                    skeletonNode.SetAnimation(0, "jump", false);
                    skeletonNode.AddAnimation(0, "run", true);
                }

            ) { AnchorPoint = CCPoint.AnchorMiddleLeft };

            menu = new CCMenu(labelBones, labelSlots, labelTimeScaleUp, labelTimeScaleDown, labelJump, labelScene);
            menu.AlignItemsVertically();
            AddChild(menu);

			String name = @"spineboy";
            skeletonNode = new CCSkeletonAnimation(name + ".json", name + ".atlas", 0.25f);

            skeletonNode.SetMix("walk", "jump", 0.2f);
            skeletonNode.SetMix("jump", "run", 0.2f);
            skeletonNode.SetAnimation(0, "walk", true);
			TrackEntry jumpEntry = skeletonNode.AddAnimation(0, "jump", false, 3);
            skeletonNode.AddAnimation(0, "run", true);

            skeletonNode.Start += Start;
            skeletonNode.End += End;
            skeletonNode.Complete += Complete;
            skeletonNode.Event += Event;

            AddChild(skeletonNode);

            var listener = new CCEventListenerTouchOneByOne();
            listener.OnTouchBegan = (touch, touchEvent) =>
                {
                    if (!skeletonNode.DebugBones)
                    {
                        skeletonNode.DebugBones = true; 
                    }
                    else if (skeletonNode.TimeScale == 1)
                        skeletonNode.TimeScale = 0.3f;
                    return true;
                };
			AddEventListener(listener, this);

            var keyListener = new CCEventListenerKeyboard();
            keyListener.OnKeyPressed = (keyEvent) =>
                {
                    switch (keyEvent.Keys)
                    {
                        case CCKeys.B:
                            skeletonNode.DebugBones = !skeletonNode.DebugBones;
                            break;
                        case CCKeys.M:
                            skeletonNode.DebugSlots = !skeletonNode.DebugSlots;
                            break;
                        case CCKeys.Up:
                            skeletonNode.TimeScale += 0.1f;
                            break;
                        case CCKeys.Down:
                            skeletonNode.TimeScale -= 0.1f;
                            break;
                        case CCKeys.G:
                            Director.ReplaceScene(GoblinLayer.Scene(Window));
                            break;
						case CCKeys.J:
							// I truthfully do not know if this is how it is done or not
							skeletonNode.SetAnimation(0, "jump", false);
							skeletonNode.AddAnimation(0, "run", true);
							break;
                    }

                };
			AddEventListener(keyListener, this);
        }
Beispiel #22
0
        protected override void AddedToScene()
        {
            base.AddedToScene();

            // We do not have an HD version of the menuitemsprite so internally CocosSharp tries to convert our
            // rectangle coordinates passed to work with HD images so the coordinates are off.  We will just 
            // modify this here to make sure we have the correct sizes when they are passed.
            var spriteNormal = new CCSprite(s_MenuItem, new CCRect(0, 23 * 2, 115, 23));
            var spriteSelected = new CCSprite(s_MenuItem, new CCRect(0, 23 * 1, 115, 23));
            var spriteDisabled = new CCSprite(s_MenuItem, new CCRect(0, 23 * 0, 115, 23));


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

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

            // Label Item (LabelAtlas)
            var labelAtlas = new CCLabelAtlas("0123456789", "Images/fps_Images.png", 12, 32, '.');
            var item3 = new CCMenuItemLabelAtlas(labelAtlas, this.menuCallbackDisabled);
            item3.DisabledColor = new CCColor3B(32, 32, 64);
            item3.Color = new CCColor3B(200, 200, 255);

            // Font Item
            var item4 = new CCMenuItemFont("I toggle enable items", (sender) => 
                {
                    disabledItem.Enabled = !disabledItem.Enabled;

                });

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


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

            CCMenuItemFont.FontSize = 30;
            // Events
            var item6 = new CCMenuItemFont("Priority Test", menuCallbackPriorityTest);

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

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

            disabledItem = item3;
            disabledItem.Enabled = false;

            AddChild(menu);
            menu.Scale = 0;
            menu.RunAction(new CCScaleTo(1, 1));

			// elastic effect
            var s = Layer.VisibleBoundsWorldspace.Size;

			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++;

				}
			}
		}