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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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(); }
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); }
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); }
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); }
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++; } } }