public void ShowBoard(float scoreNum) { Sprite sprite = new Sprite(); if (scoreNum == 5) { winText.text = "Perfect!"; sprite = Resources.Load("UI/Texture/UI_Icon_Crown", sprite.GetType()) as Sprite; } else if (scoreNum >= 3) { winText.text = "Good!"; sprite = Resources.Load("UI/Texture/Emo1", sprite.GetType()) as Sprite; } else { winText.text = "Bad Score!"; sprite = Resources.Load("UI/Texture/UI_Icon_SmileyUnhappy", sprite.GetType()) as Sprite; } Champion.GetComponent <Image>().sprite = sprite; scoreText.text = scoreNum.ToString(); gameOverUIController.SetActive(true); }
public override bool OtherCollided(Sprite sprite, SpriteProperties.Directions collidedDirection, PointF CameraLocation) { if (sprite.GetType() == typeof(Bullets.Fire)) { return(false); } if (sprite.GetType() == typeof(Bullets.Bullet) || sprite.GetType() == typeof(Bullets.ShipFire)) { isdead = true; return(false); } return(false); }
public override void Collision(Sprite otherSprite) { // Platform platform = (Platform)otherSprite; System.Type type = otherSprite.GetType(); if (type.ToString().Equals("GameOne.Platform")) { Platform platform = (Platform)otherSprite; if (velocity.Y > 0 && position.Y > platform.collisionRect.Top - this.spriteSheet.scale * (this.spriteSheet.currentSegment.frameSize.Y - this.collisionOffset.south) && this.collisionRect.Bottom + platform.collisionRect.Top > 2) { velocity.Y = -1; onGround = true; position.Y = platform.collisionRect.Top - spriteSheet.scale * (spriteSheet.currentSegment.frameSize.Y - collisionOffset.south) + 1; } } else if (type.ToString().Equals("GameOne.VegetaPlayer") || type.ToString().Equals("GameOne.GokuPlayer")) { Random random = new Random(); position.X = (float) random.Next(1048); position.Y = 0; } }
/// <summary> /// 把牌加入到桌面上 /// </summary> void addPoker(Card card) { //克隆poker模板 GameObject game = GameObject.Instantiate(poker, new Vector2(0, -4f), Quaternion.identity) as GameObject; game.name = "poke" + CardManager.Instance.mList.Count; //获取图片精灵 Sprite tempType = new Sprite(); tempType = Resources.Load("poker/" + card.pokername, tempType.GetType()) as Sprite; // 添加poker的图片 game.transform.GetComponent <SpriteRenderer>().sprite = tempType; //把克隆出来的牌对象放到同一目录下 game.transform.SetParent(pokerTrans); //把牌加到集合中 card.name = "poke" + CardManager.Instance.mList.Count; //把牌加到集合中 cm.mList.Add(card); //把抢庄的牌加到集合中 if (card.value == 10 && (card.color == 1 || card.color == 3)) { cm.mRob.Add(new Poker(card.name, 2, card.color)); } else if (card.value == 11) { cm.mRob.Add(new Poker(card.name, 1, card.color)); } sortPoker(); }
public override void OnCollision(Sprite sprite, GameTime gameTime) { base.OnCollision(sprite, gameTime); if (sprite.GetType() != typeof(Player)) { return; } Player player = (Player)sprite; if (!player.CanTakeDamage) { return; } if (!player.Rectangle.Intersects(Hitbox)) { return; } if (ParticleManager.Textures is null) { ParticleManager.Textures = ContentManager.HurtParticles; } ParticleManager.EmitterLocation = player.Rectangle.Center.ToVector2(); ParticleManager.GenerateNewParticle(Color.White, 20, 10); AudioManager.PlayEffect(ContentManager.HurtSoundEffect); player.AliveTimer -= Damage; if (player.AliveTimer < 0) { player.AliveTimer = 0; } player.IFramesTimer = 0; }
//鼠标移出 public void OnPointerExit(PointerEventData eventData) { Sprite imageSource = new Sprite(); imageSource = Resources.Load(path2, imageSource.GetType()) as Sprite; button.GetComponent <Image> ().sprite = imageSource; }
// Checks if the specified point is a valid movement. private bool CheckNewPointValidityInContext(Sprite owner, Point nextPt) { // Checks if the new point overlap a structure (or more) of the screen. List <Sprite> overlapStructs = Engine.Default.CurrentScreen.Structures.Where(s => s.Overlap(owner.CopyToPosition(nextPt))).ToList(); if (overlapStructs.Count > 0) { if (overlapStructs.Count > 1 || !ComputeExtraStepToAvoidStructure(owner, nextPt, overlapStructs.First())) { // There're more than one structure overlaped // or unable to determinate a path. ReversePath(); _currentStepIndex = GetNextStepIndex(); } // In any case, no move this time. return(false); } if (CheckCurrentStepIsCrossed(owner, nextPt.X, nextPt.Y)) { _currentStepIndex = GetNextStepIndex(); CleanTemporarySteps(); } // The owner is an enemy and has the player in his line of sight if (owner.GetType() == typeof(Enemy) && owner.CopyToPosition(nextPt).Overlap(Engine.Default.Player.ResizeToRatio(Constants.PLAYER_SIZE_RATIO_TO_TRIGGER_ENEMY))) { // Inserts a pursue step. _steps.Insert(_currentStepIndex, PathStep.CreatePursueStep(Engine.Default.Player)); CleanTemporarySteps(); } return(true); }
public Sprite GetSprite(string name) { Sprite tempSp = new Sprite(); Sprite sprite = LoadSync(name, tempSp.GetType()) as Sprite; return(sprite); }
public void OnDrop(PointerEventData eventData) { SkillItem skill = eventData.pointerDrag.GetComponent <SkillItem>(); //Debug.Log("name:" +eventData.pointerCurrentRaycast.gameObject.name+":"+this.skillSlotID); for (int i = 0; i < skillItemPanel.Length; i++) { //如果当前快捷栏有这个技能了,那就将原来的设置为空 if (skillItemPanel[i].gameObject.GetComponent <SkillSlot>().skillSlotID == skill.SkillItemID) { Sprite sprite = new Sprite(); sprite = Resources.Load("LabelTag", sprite.GetType()) as Sprite; //将原来的设置为默认的,并且将他的skillSlotID=-1,为放入技能的状态 skillItemPanel[i].transform.GetChild(0).gameObject.GetComponent <Image>().sprite = sprite; skillItemPanel[i].gameObject.GetComponent <SkillSlot>().skillSlotID = -1; } if (this.skillSlotID == -1) { //将其图案设置为拖拽的技能的图标 Sprite sprite = new Sprite(); sprite = Resources.Load(SkillInfo._instance.GetSkillInfoByID(skill.SkillItemID).iconName, sprite.GetType()) as Sprite; eventData.pointerCurrentRaycast.gameObject.transform.parent.GetComponent <Image>().sprite = sprite; //将其id设置为技能id,使用时查找 this.skillSlotID = skill.SkillItemID; } else//交换 { } } }
public void OnPointerDown(PointerEventData eventData) { secondClick = Time.realtimeSinceStartup; if (secondClick - firstClick < interval) { doubleClick.Invoke(); //Debug.Log("连续点击"); //如果当前点击处没有物品就返回不执行 if (eventData.pointerCurrentRaycast.gameObject == null) { return; } if (EquipmentUI._instance.DressItem(this.gameObject.GetComponent <ItemData>().item.id)) { ItemData dropedItem = eventData.pointerCurrentRaycast.gameObject.GetComponent <ItemData>();//拽住的物品 //将其对应的list表中的元素置为空 inv.items[dropedItem.slotIndex] = new Item(); Destroy(this.gameObject);//删除子物体 //将其父节点中的sprite修改为默认的精灵 Sprite sprite = new Sprite(); sprite = Resources.Load("shortcutskill", sprite.GetType()) as Sprite; eventData.pointerCurrentRaycast.gameObject.GetComponentInParent <Image>().sprite = sprite; //穿上 EquipmentUI._instance.DressNewItem(this.gameObject.GetComponent <ItemData>().item); EquipmentUI._instance.AddPlayerInfo(); //更新角色属性 Status._instance.UpDataShow(); //更新界面显示 } } else { //Debug.Log("没有连续点击"); firstClick = secondClick; } }
/** 提取指定的路径的sprite */ public static Sprite LoadSprite(string vResPath) { Sprite s = new Sprite(); Sprite vSprite = Resources.Load(vResPath, s.GetType()) as Sprite; return(vSprite); }
protected void UpdateAnimation(GameTime gameTime) { if (Sprite != null && Sprite.GetType() == typeof(AnimatedSprite)) { (Sprite as AnimatedSprite).Update(gameTime); } }
//创建新的item void CreatNewItem(Item itemToAdd) { //遍历格子 for (int i = 0; i < slots.Count; i++) { //如果当前格子下面的items信息的id=-1;则表示没有物品在哪里 if (items[i].id == -1) { items.Add(itemToAdd); GameObject itemObj = Instantiate(inventoryItem); //设置父节点 itemObj.transform.SetParent(slots[i].transform); itemObj.GetComponent <RectTransform>().localPosition = Vector2.zero; itemObj.GetComponent <RectTransform>().localScale = new Vector3(1, 1, 1); //改名字 itemObj.name = itemToAdd.name; //替换image Sprite sprite = new Sprite(); sprite = Resources.Load(itemToAdd.icon_name, sprite.GetType()) as Sprite; itemObj.GetComponent <Image>().sprite = sprite; //将当前格子下面的items信息的id=-1改为添加的item的id items[i].id = itemToAdd.id; itemObj.GetComponent <ItemData>().item = itemToAdd; itemObj.GetComponent <ItemData>().slotIndex = i; break; } } }
public override void activate(Sprite collider) { if (collider.GetType() == typeof(Clyde)) { clydeTouching = true; } else if (collider.GetType() == typeof(Bunny)) { bunnyTouching = true; } if (bunnyTouching && clydeTouching && level.inventory.containsKey(color)) { //we won level.isComplete = true; Console.Out.WriteLine("we won"); } }
// Ship collision handler public override void HandleCollision(Sprite collidedWith, Rectangle overlap) { if (collidedWith is IWeapon) // weapons don't stop ship movement - its own weapons have already been filtered out { colliding = false; } if (collidedWith is IAmmo) { showHealthBar = true; Ammo ball = (Ammo)collidedWith; if (!ball.exploded) { health -= ball.structureDamage; } return; } if (collidedWith.GetType().BaseType == typeof(Gusto.Models.Animated.HandHeld)) { HandHeld handHeld = (HandHeld)collidedWith; showHealthBar = true; health -= handHeld.damage; } if (collidedWith.bbKey.Equals("landTile")) { colliding = false; hittingLand = true; if (!anchored) { showHealthBar = true; health -= 1; } anchored = true; return; } if (collidedWith.bbKey.Equals("playerPirate") || collidedWith is INPC) { colliding = false; return; } if (collidedWith is IShip) { colliding = false; anchored = true; Ship sh = (Ship)collidedWith; if (sh.teamType != teamType) { boardingShipInteriorId = sh.shipInterior.interiorId; } } }
//设置button的高亮图片 private void ChangeBtnHighlightImage(ref Button btn, string imagePath) { Sprite sprite = new Sprite(); sprite = Resources.Load(imagePath, sprite.GetType()) as Sprite; var spriteState = btn.GetComponent <Button> ().spriteState; spriteState.highlightedSprite = sprite; btn.GetComponent <Button> ().spriteState = spriteState; }
public void Collides(Sprite sprite) { // If the sprite is an enemy, we remove 100 points of the score if (sprite.GetType() == typeof(EnnemiSprite)) { Score -= 100; PlaySoundEffect(_hurtSoundEffect); } else if (sprite.GetType() == typeof(DiamondSprite)) { Score += 50; PlaySoundEffect(_coinSoundEffect); } else if (sprite.GetType() == typeof(GemSprite)) { Score += 10; PlaySoundEffect(_coinSoundEffect); } }
public void GameOver(float scoreNum) { Sprite sprite = new Sprite(); if (scoreNum == 8) { winText.text = "You Win!"; sprite = Resources.Load("UI/UI_Icon_Crown", sprite.GetType()) as Sprite; } else { winText.text = "You Lose!"; sprite = Resources.Load("UI/UI_Icon_SmileyUnhappy", sprite.GetType()) as Sprite; } IsChampion.GetComponent <Image>().sprite = sprite; scoreText.text = scoreNum.ToString(); gameOverUIController.SetActive(true); }
public void DestroyAllBlock() { for (int i = List.Count - 1; i >= 0; i--) { Sprite sprite = List[i]; if (sprite.GetType() == typeof(Block)) { List[i] = null; List.RemoveAt(i); } } }
public void AddSprite(Sprite newSprite) { if (newSprite.GetType() == typeof(Poop)) { ((Poop)(newSprite)).sprite = contentManager.Load<Texture2D>(@"Sprites/Poop"); spriteList.Insert(0,newSprite); } else { spriteList.Insert(0,newSprite); } }
//冗余,是否重构? //穿戴新装备 public void DressNewItem(Item newItem) { for (int i = 0; i < parts.Length; i++) //遍历身上的部位 { if (newItem.dressType.ToString() == parts[i].tag) //找到要穿的装备的位置 { if (parts[i].GetComponent <EquipmentItem>().equipmentItemIndex == -1) //如果该部位没有穿装备,添加新的装备 { items.Add(newItem); GameObject itemObj = Instantiate(equipmentItem); //设置父节点 itemObj.transform.SetParent(parts[i].transform); itemObj.GetComponent <RectTransform>().localPosition = Vector2.zero; itemObj.GetComponent <RectTransform>().localScale = new Vector3(1, 1, 1); //改名字 itemObj.name = newItem.name; //替换image Sprite sprite = new Sprite(); sprite = Resources.Load(newItem.icon_name, sprite.GetType()) as Sprite; itemObj.GetComponent <Image>().sprite = sprite; //将当前格子下面的items信息的id=-1改为添加的item的id parts[i].GetComponent <EquipmentItem>().equipmentItemIndex = newItem.id; Debug.Log("equipmentIndex=" + parts[i].GetComponent <EquipmentItem>().equipmentItemIndex); items[i].id = newItem.id; break; } else //如果穿了,跟换装备 { Transform item = parts[i].transform.GetChild(0);//需要跟换的部位 inv.AddItem(parts[i].transform.GetComponent <EquipmentItem>().equipmentItemIndex); //先在物品栏添加该物品 Destroy(item.gameObject); //删除该物品 items.Add(newItem); GameObject itemObj = Instantiate(equipmentItem); //设置父节点 itemObj.transform.SetParent(parts[i].transform); itemObj.GetComponent <RectTransform>().localPosition = Vector2.zero; itemObj.GetComponent <RectTransform>().localScale = new Vector3(1, 1, 1); //改名字 itemObj.name = newItem.name; //替换image Sprite sprite = new Sprite(); sprite = Resources.Load(newItem.icon_name, sprite.GetType()) as Sprite; itemObj.GetComponent <Image>().sprite = sprite; //将当前格子下面的items信息的id=-1改为添加的item的id parts[i].GetComponent <EquipmentItem>().equipmentItemIndex = newItem.id; items[i].id = newItem.id; break; } } } }
/// <summary> /// this event is raised when a sprite is added as a child to the table. /// </summary> /// <param name="sender"></param> /// <param name="child"></param> /// <param name="wasAdded"></param> /// <returns></returns> private bool Table_ChildListChangedBefore(object sender, Sprite child, bool wasAdded) { if (wasAdded) { if (child.GetType() == typeof(Endogine.Sprite)) { Ball ball = null; if (child.Member != null && child.Member.Name.IndexOf("BallWhite") >= 0) { ball = new PlayerBall(); } else { ball = new Ball(); } ball.Parent = this; ball.LocZ = 10; //TODO: use serialization to copy props to new object! ball.Member = child.Member; ball.Loc = child.Loc.Copy(); ball.RegPoint = ball.Member.Size / 2; child.Dispose(); return(false); } else if (child.GetType() == typeof(Ball) || child.GetType() == typeof(PlayerBall)) { Ball ball = (Ball)child; if (ball.Member != null) { ball.RegPoint = child.Member.Size / 2; } this.balls.Add(ball); foreach (TopologyObject topo in this.topoObjects) { topo.AddSprite(ball); } } else if (child.GetType() == typeof(TopologyObject)) { this.topoObjects.Add(child); ((TopologyObject)child).DoneConstructing(); } } else { if (child.GetType() == typeof(Ball) || child.GetType() == typeof(PlayerBall)) { this.balls.Remove(child); } } return(true); }
public Sprite getSpByName(string url) { if (spriteDic.ContainsKey(url)) { return(spriteDic [url]); } else { Sprite iconsp = new Sprite(); iconsp = Resources.Load(url, iconsp.GetType()) as Sprite; spriteDic.Add(url, iconsp); return(iconsp); } }
/// <summary> /// Returns a list of object in an area specified by the search pattern. /// SearchPattern.Touching -> you are in direct contact with an object /// </summary> public static IEnumerable<Sprite> GetObjects(Sprite origin, SearchPattern pattern) { var objectsFound = new List<Sprite>(); foreach (var obj in allObjects) { // Exclude the searching object from the list of found objects if (obj.GetType().Name != origin.GetType().Name) { Point overlap = OverLap(origin.Rectangle, obj.Rectangle); if (pattern == SearchPattern.Touching) { if (overlap.X <= tileSize / 4 && overlap.Y <= tileSize / 4) { objectsFound.Add(obj); } } else if (pattern == SearchPattern.Right) { if (overlap.Y <= 0 && origin.Rectangle.Right < obj.Rectangle.Left && NoWallsBetween(origin, obj)) { objectsFound.Add(obj); } } else if (pattern == SearchPattern.Left && NoWallsBetween(origin, obj)) { if (overlap.Y <= 0 && origin.Rectangle.Left > obj.Rectangle.Right && NoWallsBetween(origin, obj)) { objectsFound.Add(obj); } } else if (pattern == SearchPattern.Up) { if (overlap.X <= 0 && origin.Rectangle.Top > obj.Rectangle.Bottom && NoWallsBetween(origin, obj)) { objectsFound.Add(obj); } } else if (pattern == SearchPattern.Down) { if (overlap.X <= 0 && origin.Rectangle.Bottom < obj.Rectangle.Top && NoWallsBetween(origin, obj)) { objectsFound.Add(obj); } } } } return objectsFound; }
public void DestroyMap() { DestroyAllBlock(); for (int i = List.Count - 1; i >= 0; i--) { Sprite sprite = List[i]; if (sprite.GetType() == typeof(Player)) { continue; } List[i] = null; List.RemoveAt(i); } }
//Warning: this script can only run once, or big trouble will comes. public void init(int amount,List<Skill> skills) { Sprite tempType = new Sprite(); tempType = Resources.Load("null", tempType.GetType()) as Sprite; if (!tempType) Debug.Log("Load null Failed."); skill = new skill_info[amount]; for (int i = 0; i < amount; i++) { skill[i].skillid = i; skill[i].skill_script = skills[i]; skill[i].skillicon = tempType; } Invoke("NameUpdate", 1.0f); }
public override void HandleCollision(Sprite collidedWith, Rectangle overlap) { if (collidedWith.GetType().BaseType == typeof(Gusto.Models.Animated.HandHeld)) { HandHeld handHeld = (HandHeld)collidedWith; showHealthBar = true; health -= handHeld.damage; } else if (collidedWith.bbKey.Equals("landTile") || collidedWith.bbKey.Equals("interiorTile")) { TilePiece tp = (TilePiece)collidedWith; colliding = false; mapCordPoint = tp.mapCordPoint; // narrow the collision to just the feet (appears more realistic) Rectangle footSpace = new Rectangle(GetBoundingBox().Left, GetBoundingBox().Bottom - (GetBoundingBox().Height / 3), GetBoundingBox().Width, GetBoundingBox().Height / 3); if (footSpace.Intersects(collidedWith.GetBoundingBox())) { swimming = false; } } else if (collidedWith is IGroundObject) { colliding = false; } else if (collidedWith.bbKey.Equals("interiorTileWall")) { colliding = false; } else if (collidedWith is IWalks || collidedWith is IShip || collidedWith is IPlaceable || collidedWith is IInventoryItem || collidedWith is IStructure) { colliding = false; } else if (collidedWith is IAmmo) { showHealthBar = true; Ammo ball = (Ammo)collidedWith; // TODO: bug NPC gets hit here by its own ships cannonballs if (!ball.exploded && ball.teamType != teamType) { health -= ball.groundDamage; } return; } }
/// <summary> /// 第一个人 /// </summary> public void fristCards(List <Card> list) { //获取图片精灵 Sprite tempType = new Sprite(); //集合为空自己返回 if (list.Count == null || list.Count < 1) { return; } tempType = Resources.Load("poker/" + list[list.Count - 1].pokername, tempType.GetType()) as Sprite; //克隆poker模板 GameObject game = GameObject.Instantiate(poker, new Vector2(5.5f, 0), Quaternion.identity) as GameObject; // 添加poker的图片 game.transform.GetComponent <SpriteRenderer>().sprite = tempType; //GameObject game = GameObject.Instantiate(list[list.Count - 1].poker, new Vector2(3, 0), Quaternion.identity) as GameObject; game.transform.GetComponent <SpriteRenderer>().sortingOrder = 2; game.name = list[list.Count - 1].name; game.transform.SetParent(playTranform); List <Card> c = new List <Card>(); c.Add(list[list.Count - 1]); //存入出的牌 CardManager.Instance.olist.Clear(); //先清空上次的牌 CardManager.Instance.folist.Clear(); //把分加入临时变量中 把出的牌存到olist中 foreach (Card item in c) { //添加分到临时变量中 CardManager.Instance.tempScore += Playcardutils.Instance.AddScore(item); CardManager.Instance.olist.Add(item); //把第一次出的牌放进去 CardManager.Instance.folist.Add(item); } CardManager.Instance.fList.Remove(list[list.Count - 1]); CardManager.Instance.playCardPeople = 2; CardManager.Instance.zhuang = 1; //把出的牌加入到临时变量中 tempList.Add(game); //等1秒 StartCoroutine(waitTime()); // PlayPoker(); }
//设置button的默认图片 private void ChangeBtnDefaultImage(ref Button btn, string imagePath) { //重置背景色 ColorBlock colorsBlock = btn.GetComponent <Button> ().colors; colorsBlock.normalColor = Color.white; btn.GetComponent <Button> ().colors = colorsBlock; //修改按钮为图片状态切换样式 btn.GetComponent <Button> ().transition = Selectable.Transition.SpriteSwap; btn.image.type = Image.Type.Simple; Sprite sprite = new Sprite(); sprite = Resources.Load(imagePath, sprite.GetType()) as Sprite; btn.image.sprite = sprite; }
/// <summary> ///把出的牌添加到桌面上 /// </summary> public void clonePoker(Vector2 vec, string pname, string name, int zord) { //获取图片精灵 Sprite tempType = new Sprite(); tempType = Resources.Load("poker/" + pname, tempType.GetType()) as Sprite; //克隆poker模板 GameObject game = GameObject.Instantiate(poker, vec, Quaternion.identity) as GameObject; // 添加poker的图片 game.transform.GetComponent <SpriteRenderer>().sprite = tempType; //把牌加到指定目录中 game.name = name; game.transform.GetComponent <SpriteRenderer>().sortingOrder = zord + 1; game.transform.SetParent(playTranform); //把牌添加到临时变量中 tempList.Add(game); }
/// <summary> /// 显示机器亮庄的花色 /// </summary> void showRobPoker(object[] value) { int x = (int)value[0]; int num = (int)value[1]; //黑桃 if (x == 0) { //获取图片精灵 Sprite tempType = new Sprite(); tempType = Resources.Load("rob/bg_small_suit_4", tempType.GetType()) as Sprite; showRop(tempType, num); CardManager.Instance.color = 0; } //红桃 else if (x == 1) { //获取图片精灵 Sprite tempType = new Sprite(); tempType = Resources.Load("rob/bg_small_suit_3", tempType.GetType()) as Sprite; showRop(tempType, num); CardManager.Instance.color = 1; // cgame.getcomponent<spriterenderer>().sprite = spoker[1]; } //梅花 else if (x == 2) { //获取图片精灵 Sprite tempType = new Sprite(); tempType = Resources.Load("rob/bg_small_suit_2", tempType.GetType()) as Sprite; showRop(tempType, num); CardManager.Instance.color = 2; // cgame.getcomponent<spriterenderer>().sprite = spoker[2]; } //方块 else if (x == 3) { //获取图片精灵 Sprite tempType = new Sprite(); tempType = Resources.Load("rob/bg_small_suit_1", tempType.GetType()) as Sprite; showRop(tempType, num); CardManager.Instance.color = 3; //cgame.getcomponent<spriterenderer>().sprite = spoker[3]; } }
public void InitFinishPlayLevel() { great = new GameObject(); GridUIAttributeManager.GetInstance().great = great; great.name = "win"; great.AddComponent <Image>(); great.GetComponent <RectTransform>().SetParent(mainCanvas.transform); Sprite sprite_great = new Sprite(); sprite_great = Resources.Load("great_text", sprite_great.GetType()) as Sprite; great.GetComponent <Image>().sprite = sprite_great; great.GetComponent <RectTransform>().sizeDelta = new Vector2(gameBgWith / 2, gameBgWith / 2); if (Screen.height / Screen.width >= gameBgHeight / gameBgWith) { great.GetComponent <RectTransform>().position = new Vector3(gameBgWith / 2, gameBgHeight / 2, 0.0f); } else { great.GetComponent <RectTransform>().position = new Vector3(Screen.width / 2, gameBgHeight / 2, 0.0f); } great.SetActive(false); }
public void Draw(GameTime gameTime, SpriteBatch spriteBatch) { for (int i = List.Count - 1; i >= 0; i--) { Sprite sprite = List[i]; if (sprite.visible && sprite.GetType() != typeof(Player)) { sprite.Draw(spriteBatch); //spriteBatch.Draw(DebugBox[0], sprite.Rectangle(), Color.White); } } // Render player alone if (Game1.Instance.player.visible) { Game1.Instance.player.Draw(spriteBatch); //spriteBatch.Draw(DebugBox[0], Game1.Instance.player.Rectangle(), Color.White); } }
/* * Called when this sprite has collided with something else. */ public override void Collision(Sprite otherSprite) { if (otherSprite.GetType().ToString().Equals("GameOne.Enemy")) { position.X = 0; position.Y = 645 - collisionOffset.south; reverseGravity = false; } if (!reverseGravity) CollisionNoReverseGravity(otherSprite); else CollisionReverseGravity(otherSprite); }
public static bool CheckCollidable(Sprite a, Sprite b) { if (a.inInteriorId != Guid.Empty) { if (b.inInteriorId == Guid.Empty) { return(false); } if (b.inInteriorId != a.inInteriorId) { return(false); } } if (a is IShip) { Ship ship = (Ship)a; // a ship doesn't collide with its any ship's sails if (b.GetType().BaseType == typeof(Gusto.Models.Animated.Sail)) { return(false); } if (b is ILand) { TilePiece t = (TilePiece)b; if (!(t.shorePiece)) { return(false); } } // ship doesn't collide with interior tiles if (b is IInteriorTile) { return(false); } // ship doesn't collide with its own cannon balls if (b.GetType().BaseType == typeof(Gusto.Models.Animated.Ammo)) { Ammo ball = (Ammo)b; if (ball.teamType == ship.teamType) { return(false); } } } else if (a is IPlayer) { PlayerPirate pirate = (PlayerPirate)a; // a player doesn't collide with its own shots if (b is IAmmo) { Ammo ball = (Ammo)b; if (ball.teamType == pirate.teamType) { return(false); } } else if (b.GetType().BaseType == typeof(Gusto.Models.Animated.Tree)) { return(false); } } else if (a.GetType().BaseType == typeof(Gusto.Models.Animated.Tower)) { BaseTower tower = (BaseTower)a; // a tower doesn't collide with its own shots if (b is IAmmo) { Ammo ball = (Ammo)b; if (ball.teamType == tower.teamType) { return(false); } } } // hand items only collide when they are being used else if (a is IHandHeld) { HandHeld inHand = (HandHeld)a; if (!inHand.usingItem && !inHand.onGround) { return(false); } } else if (a is IAmmo) { if (b.GetType().BaseType == typeof(Gusto.Models.TilePiece)) { return(false); } if (b.GetType().BaseType == typeof(Gusto.Models.Animated.Grass)) { return(false); } } else if (a is IGroundObject) { if (b is IGroundObject) { return(false); } if (b.GetType().BaseType == typeof(Gusto.Models.TilePiece)) { return(false); } if (b is IShip) { return(false); } } return(true); }
private static bool IsAwayFromObjects(Sprite origin) { foreach (Sprite obj in allObjects) { if (obj is ILiving) { if (!(obj as ILiving).IsAlive) { continue; } } if (obj.GetType().Name != origin.GetType().Name) { Point overlap = OverLap(origin.Rectangle, obj.Rectangle); if (overlap.X <= 0 && overlap.Y <= 0) { return false; } } } return true; }
/* * Called when this sprite has collided with something else. */ public override void Collision(Sprite otherSprite) { // Platform platform = (Platform)otherSprite; System.Type type = otherSprite.GetType(); if (type.ToString().Equals("GameOne.Platform")) { Platform platform = (Platform)otherSprite; if (velocity.Y > 0 && position.Y > platform.collisionRect.Top - this.spriteSheet.scale * (this.spriteSheet.currentSegment.frameSize.Y - this.collisionOffset.south) && this.collisionRect.Bottom + platform.collisionRect.Top > 2) { velocity.Y = -1; onGround = true; position.Y = platform.collisionRect.Top - spriteSheet.scale * (spriteSheet.currentSegment.frameSize.Y - collisionOffset.south) + 1; } } else if (type.ToString().Equals("GameOne.Gohan")) { currentPoints++; } else if (type.ToString().Equals("GameOne.Frieza")) { if(isSS){ cancelSS = true; currentPoints += 2; } else if (currentPoints > 0) { currentPoints--; } } }
private void CollisionReverseGravity(Sprite otherSprite) { Boolean myFlag = false; if (otherSprite.GetType().ToString().Equals("GameOne.Platform") || otherSprite.GetType().ToString().Equals("GameOne.TronPlatform")) { if (collisionRect.Right <= (otherSprite.collisionRect.Left + 5)) { position.X += -5f; velocity.X += -1f; onGround = false; myFlag = true; } if (collisionRect.Left >= (otherSprite.collisionRect.Right - 5)) { position.X += 5f; velocity.X += 1f; onGround = false; myFlag = true; } if (collisionRect.Bottom <= (otherSprite.collisionRect.Top + 50) && myFlag == false && velocity.Y > 0f) { velocity.Y = 0f; onGround = false; myFlag = true; } if (collisionRect.Top + 50 >= otherSprite.collisionRect.Bottom && velocity.Y <= 0f && myFlag == false) { velocity.Y = 0f; onGround = true; } } }
private bool allNonSpriteSheet(Sprite spr) { return spr.GetType() != typeof(SpriteSheet); }
/** 提取指定的路径的sprite */ public static Sprite LoadSprite(string vResPath) { Sprite s = new Sprite(); Sprite vSprite = Resources.Load(vResPath , s.GetType() ) as Sprite; return vSprite; }
/// <summary> /// 抢庄的点击事件 /// </summary> void robOnClick(string name) { switch (name) { //没有花色 case "no": break; //黑桃 case "black": CardManager.Instance.color = 0; CardManager.Instance.zhuang = 0; //找到图片资源 Sprite tempType = new Sprite(); tempType = Resources.Load("rob/bg_small_suit_4", tempType.GetType()) as Sprite; //替换主牌花色 foreach (GameObject item in robObject) { if (item.name.Equals("color")) { item.SetActive(true); item.transform.GetComponent <Image>().sprite = tempType; } } break; //红桃 case "red": CardManager.Instance.color = 1; CardManager.Instance.zhuang = 0; //找到图片资源 Sprite tempType1 = new Sprite(); tempType1 = Resources.Load("rob/bg_small_suit_3", tempType1.GetType()) as Sprite; //替换主牌花色 foreach (GameObject item in robObject) { if (item.name.Equals("color")) { item.SetActive(true); item.transform.GetComponent <Image>().sprite = tempType1; } } break; //梅花 case "meihua": CardManager.Instance.color = 2; CardManager.Instance.zhuang = 0; //找到图片资源 Sprite tempType2 = new Sprite(); tempType2 = Resources.Load("rob/bg_small_suit_2", tempType2.GetType()) as Sprite; //替换主牌花色 foreach (GameObject item in robObject) { if (item.name.Equals("color")) { print("meihua11"); item.SetActive(true); item.transform.GetComponent <Image>().sprite = tempType2; } } break; //方块 case "fangkuai": CardManager.Instance.color = 3; CardManager.Instance.zhuang = 0; //找到图片资源 Sprite tempType3 = new Sprite(); tempType3 = Resources.Load("rob/bg_small_suit_1", tempType3.GetType()) as Sprite; //替换主牌花色 foreach (GameObject item in robObject) { if (item.name.Equals("color")) { item.SetActive(true); item.transform.GetComponent <Image>().sprite = tempType3; } } break; } }