本文整理汇总了C#中Sprite.SetRotationCenter方法的典型用法代码示例。如果您正苦于以下问题:C# Sprite.SetRotationCenter方法的具体用法?C# Sprite.SetRotationCenter怎么用?C# Sprite.SetRotationCenter使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sprite
的用法示例。
在下文中一共展示了Sprite.SetRotationCenter方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddExplosion
// Add an explosion into the list (will remove self once complete)
public void AddExplosion(Vector2 Position)
{
// Allocate and register the new sprite, starting with the explosion
// Note: slight randomization to add effect
Sprite Explosion = new Sprite("Textures/ExplosionSprite" + UnityEngine.Random.Range(0, 2)); // [0, 1]
Explosion.SetPosition(Position);
Explosion.SetAnimation(Vector2.zero, new Vector2(20, 20), 7, 0.06f + UnityEngine.Random.Range(-0.01f, 0.05f));
Explosion.SetGeometrySize(Explosion.GetSpriteSize() * (0.6f + UnityEngine.Random.Range(-0.2f, 0.2f)));
Explosion.SetRotationCenter(Explosion.GetGeometrySize() / UnityEngine.Random.Range (1.0f, 2.0f));
Explosion.SetRotation(UnityEngine.Random.Range(0.0f, 2.0f * Mathf.PI));
Explosion.SetDepth(Globals.ExplosionDepth);
// Register to renderer and list
Globals.WorldView.SManager.AddSprite(Explosion);
Explosions.Add(Explosion);
// Add explosion audio
int Index = UnityEngine.Random.Range(1, 4); // [1, 4)
Globals.WorldView.AManager.PlayAudio(Position, "Explosion" + Index);
}
示例2: BaseBuilding
public BaseBuilding(string configFilename)
{
ConfigFile config = new ConfigFile(configFilename);
m_Name = config.GetKey_String("General", "Name");
m_MaxHealth = m_Health = config.GetKey_Int("General", "Health");
m_Armor = config.GetKey_Int("General", "Armor");
m_ConsumptionRate = config.GetKey_Float("General", "ConsumptionRate");
m_MaxUpgradeLevels = config.GetKey_Int("General", "MaxUpgradeLevels");
m_UpgradeMagnitude = config.GetKey_Int("General", "UpgradeMagnitude");
m_MaxConnDist = config.GetKey_Float("General", "MaxConnDist");
m_MinConnDist = config.GetKey_Float("General", "MinConnDist");
Vector2 tempPrice = config.GetKey_Vector2("General", "Price");
m_MineralPrice = (int)tempPrice.x;
m_GasPrice = (int)tempPrice.y;
m_Sprite = new Sprite("Textures/" + config.GetKey_String("General", "Texture"));
m_Sprite.SetGeometrySize(config.GetKey_Vector2("General", "Size"));
m_Sprite.SetRotationCenter(m_Sprite.GetGeometrySize() / 2);
Globals.WorldView.SManager.AddSprite(m_Sprite);
}
示例3: BaseShip
/*** Public ***/
// Standard constructor: needs to have a paried config file name
// which should implement all of the groups and key-value pairs
// found in the ship demo config file
public BaseShip(String ConfigFileName)
{
// Load the ship's properties
this.ConfigFileName = ConfigFileName;
ConfigFile Info = new ConfigFile(ConfigFileName);
/*** General Init. ***/
// Save the health components
ShieldHealth = ShieldMaxHealth = Info.GetKey_Int("General", "Shield");
HullHealth = HullMaxHealth = Info.GetKey_Int("General", "Hull");
// Save velicity limit and default pos to center
MaxVelocity = Info.GetKey_Vector2("General", "MaxVelocity");
ShipAcceleration = new Vector2();
ShipVelocity = new Vector2();
ShipPosition = new Vector3();
// Get all group names to load up specialty geometry
String TextureName = Info.GetKey_String("General", "Texture");
String[] GroupNames = Info.GetGroupNames();
/*** Frame, Shield & Hull ***/
// For each group, look just for "Frame" and "Shield"
foreach(String GroupName in GroupNames)
{
// If shield
if(GroupName.ToLower().StartsWith("shield") == true)
{
// Get animation / frame info
ShieldAnimation = LoadHullType(Info, GroupName);
// Register the sprite with the sprite manager
ShieldSprite = new Sprite("Textures/" + TextureName);
ShieldSprite.SetAnimation(ShieldAnimation.Pos, ShieldAnimation.Size, ShieldAnimation.FrameCount, ShieldAnimation.FrameTime);
ShieldSprite.SetGeometrySize(ShieldSprite.GetSpriteSize());
ShieldSprite.SetRotationCenter(ShieldSprite.GetGeometrySize() / 2.0f);
ShieldSprite.SetDepth(Globals.ShieldDepth);
Globals.WorldView.SManager.AddSprite(ShieldSprite);
}
// Elif base frame
else if(GroupName.ToLower().StartsWith("frame") == true)
{
// Get animation / frame info
FrameAnimation = LoadHullType(Info, GroupName);
// Register the sprite with the sprite manager
FrameSprite = new Sprite("Textures/" + TextureName);
FrameSprite.SetAnimation(FrameAnimation.Pos, FrameAnimation.Size, FrameAnimation.FrameCount, FrameAnimation.FrameTime);
FrameSprite.SetGeometrySize(FrameSprite.GetSpriteSize());
FrameSprite.SetRotationCenter(FrameSprite.GetGeometrySize() / 2.0f);
FrameSprite.SetDepth(Globals.FrameDepth);
Globals.WorldView.SManager.AddSprite(FrameSprite);
}
}
// Load all the hulls
HullList = new List<BaseShip_Hull>();
foreach(String GroupName in GroupNames)
{
if(GroupName.ToLower().StartsWith("hull") == true)
{
BaseShip_Hull Hull = LoadHullType(Info, GroupName);
HullList.Add(Hull);
}
}
// Default to initial hull
HullSprite = new Sprite("Textures/" + TextureName);
HullSkinIndex = 0; // Index grows while health goes down
BaseShip_Hull HullAnimation = HullList[HullSkinIndex];
HullSprite.SetAnimation(HullAnimation.Pos, HullAnimation.Size, HullAnimation.FrameCount, HullAnimation.FrameTime);
HullSprite.SetGeometrySize(HullSprite.GetSpriteSize());
HullSprite.SetRotationCenter(HullSprite.GetGeometrySize() / 2.0f);
HullSprite.SetDepth(Globals.HullDepth);
Globals.WorldView.SManager.AddSprite(HullSprite);
/*** Contrails ***/
// Load all contrails
ContrailList = new List<BaseShip_Contrail>();
foreach(String GroupName in GroupNames)
{
BaseShip_Contrail NewContrail = LoadContrail(Info, GroupName);
if(NewContrail != null)
ContrailList.Add(NewContrail);
}
/*** Weapons ***/
// Load all weapons
WeaponsList = new List<BaseShip_Weapon>();
foreach(String GroupName in GroupNames)
{
//.........这里部分代码省略.........
示例4: AddGlow
// Add glow ontop of what is being fired
public void AddGlow(Vector2 Position)
{
// Sprite info
Vector2 GlowPos = ProjectileInfo.GetKey_Vector2("Glow", "Pos");
Vector2 GlowSize = ProjectileInfo.GetKey_Vector2("Glow", "Size");
// Allocate and register the new sprite
// Note: slight randomization to add effect
Sprite Explosion = new Sprite("Textures/Projectiles");
Explosion.SetAnimation(GlowPos, GlowSize, 1, 1.0f);
// Set in-world properties
Explosion.SetPosition(Position);
Explosion.SetGeometrySize(Explosion.GetSpriteSize() * (0.6f + UnityEngine.Random.Range(-0.2f, 0.2f)));
Explosion.SetRotationCenter(Explosion.GetGeometrySize() / 2.0f);
Explosion.SetRotation(UnityEngine.Random.Range(0.0f, 2.0f * Mathf.PI));
Explosion.SetDepth(Globals.ExplosionDepth);
// Register to renderer and list
Globals.WorldView.SManager.AddSprite(Explosion);
Glow.Add(Explosion);
}