本文整理汇总了C#中Cocos2D.CCSprite.RunAction方法的典型用法代码示例。如果您正苦于以下问题:C# CCSprite.RunAction方法的具体用法?C# CCSprite.RunAction怎么用?C# CCSprite.RunAction使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Cocos2D.CCSprite
的用法示例。
在下文中一共展示了CCSprite.RunAction方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SpriteOffsetAnchorRotation
public SpriteOffsetAnchorRotation()
{
CCSize s = CCDirector.SharedDirector.WinSize;
CCSpriteFrameCache cache = CCSpriteFrameCache.SharedSpriteFrameCache;
cache.AddSpriteFramesWithFile("animations/grossini.plist");
cache.AddSpriteFramesWithFile("animations/grossini_gray.plist", "animations/grossini_gray");
for (int i = 0; i < 3; i++)
{
//
// Animation using Sprite BatchNode
//
CCSprite sprite = new CCSprite("grossini_dance_01.png");
sprite.Position = (new CCPoint(s.Width / 4 * (i + 1), s.Height / 2));
CCSprite point = new CCSprite("Images/r1");
point.Scale = 0.25f;
point.Position = (sprite.Position);
AddChild(point, 1);
switch (i)
{
case 0:
sprite.AnchorPoint = new CCPoint(0, 0);
break;
case 1:
sprite.AnchorPoint = new CCPoint(0.5f, 0.5f);
break;
case 2:
sprite.AnchorPoint = new CCPoint(1, 1);
break;
}
point.Position = sprite.Position;
var animFrames = new List<CCSpriteFrame>(14);
string str = "";
for (int j = 0; j < 14; j++)
{
str = string.Format("grossini_dance_{0:00}.png", j + 1);
CCSpriteFrame frame = cache.SpriteFrameByName(str);
animFrames.Add(frame);
}
CCAnimation animation = new CCAnimation(animFrames, 0.3f);
sprite.RunAction(new CCRepeatForever (new CCAnimate (animation)));
sprite.RunAction(new CCRepeatForever (new CCRotateBy (10, 360)));
AddChild(sprite, 0);
//animFrames.release(); // win32 : memory leak 2010-0415
}
}
示例2: addNewSpriteWithCoords
public void addNewSpriteWithCoords(CCPoint p)
{
CCSpriteBatchNode BatchNode = (CCSpriteBatchNode)GetChildByTag((int)kTags.kTagSpriteBatchNode);
int idx = (int)(CCRandom.NextDouble() * 1400 / 100);
int x = (idx % 5) * 85;
int y = (idx / 5) * 121;
CCSprite sprite = new CCSprite(BatchNode.Texture, new CCRect(x, y, 85, 121));
BatchNode.AddChild(sprite);
sprite.Position = (new CCPoint(p.X, p.Y));
CCActionInterval action = null;
float random = (float)CCRandom.NextDouble();
if (random < 0.20)
action = new CCScaleBy(3, 2);
else if (random < 0.40)
action = new CCRotateBy (3, 360);
else if (random < 0.60)
action = new CCBlink (1, 3);
else if (random < 0.8)
action = new CCTintBy (2, 0, -255, -255);
else
action = new CCFadeOut (2);
CCActionInterval action_back = (CCActionInterval)action.Reverse();
CCActionInterval seq = (CCActionInterval)(new CCSequence(action, action_back));
sprite.RunAction(new CCRepeatForever (seq));
}
示例3: Test5
public Test5()
{
CCSprite sp1 = new CCSprite(TestResource.s_pPathSister1);
sp2 = new CCSprite(TestResource.s_pPathSister2);
sp1.Position = (new CCPoint(100, 160));
sp2.Position = (new CCPoint(380, 160));
CCRotateBy rot = new CCRotateBy (2, 360);
var rot_back = rot.Reverse() as CCActionInterval;
CCAction forever = new CCRepeatForever ((CCActionInterval)new CCSequence(rot, rot_back));
forever2 = (CCAction) (forever.Copy());
forever.Tag = (101);
forever2.Tag = (102);
AddChild(sp1, 0, CocosNodeTestStaticLibrary.kTagSprite1);
AddChild(sp2, 0, CocosNodeTestStaticLibrary.kTagSprite2);
RemoveChild(sp2, true);
AddChild(sp2, 0, CocosNodeTestStaticLibrary.kTagSprite2);
// Sprite 1 should run and run
// Sprite 2 should stop
sp1.RunAction(forever);
sp2.RunAction(forever2);
// Experiment with removing sp2 and re-adding it after cleanup to reproduce an error in child management
// ScheduleOnce(Stage2OfTest, 2.0f);
Schedule(addAndRemove, 2.0f);
}
示例4: Init
public override bool Init()
{
InitWithColor(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);
CCSize s = CCDirector.SharedDirector.WinSize;
CCSprite sprite = new CCSprite(s_pPathGrossini);
AddChild(sprite);
sprite.Position = new CCPoint(s.Width /2, 40);
CCActionInterval rotate = new CCRotateBy (2, 360);
CCAction repeat = new CCRepeatForever (rotate);
sprite.RunAction(repeat);
Schedule(testDealloc);
return true;
}
示例5: addNewSpriteWithCoords
public void addNewSpriteWithCoords(CCPoint p)
{
int idx = (int)(CCMacros.CCRandomBetween0And1() * 1400.0f / 100.0f);
int x = (idx % 5) * 85;
int y = (idx / 5) * 121;
CCSprite sprite = new CCSprite("Images/grossini_dance_atlas", new CCRect(x, y, 85, 121));
AddChild(sprite);
sprite.Position = p;
CCActionInterval action;
float random = CCMacros.CCRandomBetween0And1();
if (random < 0.20)
action = new CCScaleBy(3, 2);
else if (random < 0.40)
action = new CCRotateBy (3, 360);
else if (random < 0.60)
action = new CCBlink (1, 3);
else if (random < 0.8)
action = new CCTintBy (2, 0, -255, -255);
else
action = new CCFadeOut (2);
object obj = action.Reverse();
CCActionInterval action_back = (CCActionInterval)action.Reverse();
CCActionInterval seq = (CCActionInterval)(new CCSequence(action, action_back));
sprite.RunAction(new CCRepeatForever (seq));
}
示例6: Test6
public Test6()
{
CCSprite sp1 = new CCSprite(TestResource.s_pPathSister1);
CCSprite sp11 = new CCSprite(TestResource.s_pPathSister1);
CCSprite sp2 = new CCSprite(TestResource.s_pPathSister2);
CCSprite sp21 = new CCSprite(TestResource.s_pPathSister2);
sp1.Position = (new CCPoint(100, 160));
sp2.Position = (new CCPoint(380, 160));
CCActionInterval rot = new CCRotateBy (2, 360);
var rot_back = rot.Reverse() as CCActionInterval;
CCAction forever1 = new CCRepeatForever ((CCActionInterval)new CCSequence(rot, rot_back));
var forever11 = (CCAction) (forever1.Copy());
var forever2 = (CCAction) (forever1.Copy());
var forever21 = (CCAction) (forever1.Copy());
AddChild(sp1, 0, CocosNodeTestStaticLibrary.kTagSprite1);
sp1.AddChild(sp11);
AddChild(sp2, 0, CocosNodeTestStaticLibrary.kTagSprite2);
sp2.AddChild(sp21);
sp1.RunAction(forever1);
sp11.RunAction(forever11);
sp2.RunAction(forever2);
sp21.RunAction(forever21);
Schedule(addAndRemove, 2.0f);
}
示例7: NodeToWorld
public NodeToWorld()
{
//
// This code tests that nodeToParent works OK:
// - It tests different anchor Points
// - It tests different children anchor points
CCSprite back = new CCSprite(TestResource.s_back3);
AddChild(back, -10);
back.AnchorPoint = (new CCPoint(0, 0));
CCSize backSize = back.ContentSize;
CCMenuItem item = new CCMenuItemImage(TestResource.s_PlayNormal, TestResource.s_PlaySelect);
CCMenu menu = new CCMenu(item);
menu.AlignItemsVertically();
menu.Position = (new CCPoint(backSize.Width / 2, backSize.Height / 2));
back.AddChild(menu);
CCActionInterval rot = new CCRotateBy (5, 360);
CCAction fe = new CCRepeatForever (rot);
item.RunAction(fe);
CCActionInterval move = new CCMoveBy (3, new CCPoint(200, 0));
var move_back = (CCActionInterval) move.Reverse();
CCFiniteTimeAction seq = new CCSequence(move, move_back);
CCAction fe2 = new CCRepeatForever ((CCActionInterval) seq);
back.RunAction(fe2);
}
示例8: SpriteBatchNodeAliased
public SpriteBatchNodeAliased()
{
CCSpriteBatchNode batch = new CCSpriteBatchNode("Images/grossini_dance_atlas", 10);
AddChild(batch, 0, (int)kTags.kTagSpriteBatchNode);
CCSize s = CCDirector.SharedDirector.WinSize;
CCSprite sprite1 = new CCSprite(batch.Texture, new CCRect(85 * 1, 121 * 1, 85, 121));
sprite1.Position = (new CCPoint(s.Width / 2 - 100, s.Height / 2));
batch.AddChild(sprite1, 0, (int)kTagSprite.kTagSprite1);
CCSprite sprite2 = new CCSprite(batch.Texture, new CCRect(85 * 1, 121 * 1, 85, 121));
sprite2.Position = (new CCPoint(s.Width / 2 + 100, s.Height / 2));
batch.AddChild(sprite2, 0, (int)kTagSprite.kTagSprite2);
CCActionInterval scale = new CCScaleBy(2, 5);
CCActionInterval scale_back = (CCActionInterval)scale.Reverse();
CCActionInterval seq = (CCActionInterval)(new CCSequence(scale, scale_back));
CCAction repeat = new CCRepeatForever (seq);
CCAction repeat2 = (CCAction)(repeat.Copy());
sprite1.RunAction(repeat);
sprite2.RunAction(repeat2);
}
示例9: performanceActions
private void performanceActions(CCSprite pSprite)
{
CCSize size = CCDirector.SharedDirector.WinSize;
pSprite.Position = new CCPoint((CCRandom.Next() % (int) size.Width), (CCRandom.Next() % (int) size.Height));
float period = 0.5f + (CCRandom.Next() % 1000) / 500.0f;
CCRotateBy rot = new CCRotateBy (period, 360.0f * CCRandom.Float_0_1());
var rot_back = rot.Reverse();
CCAction permanentRotation = new CCRepeatForever (CCSequence.FromActions(rot, rot_back));
pSprite.RunAction(permanentRotation);
float growDuration = 0.5f + (CCRandom.Next() % 1000) / 500.0f;
CCActionInterval grow = new CCScaleBy(growDuration, 0.5f, 0.5f);
CCAction permanentScaleLoop = new CCRepeatForever (new CCSequence (grow, grow.Reverse()));
pSprite.RunAction(permanentScaleLoop);
}
示例10: StressTest2
public StressTest2()
{
CCSize s = CCDirector.SharedDirector.WinSize;
CCLayer sublayer = new CCLayer();
CCSprite sp1 = new CCSprite(TestResource.s_pPathSister1);
sp1.Position = (new CCPoint(80, s.Height / 2));
CCActionInterval move = new CCMoveBy (3, new CCPoint(350, 0));
CCActionInterval move_ease_inout3 = new CCEaseInOut((CCActionInterval) (move.Copy()), 2.0f);
var move_ease_inout_back3 = (CCActionInterval) move_ease_inout3.Reverse();
CCFiniteTimeAction seq3 = new CCSequence(move_ease_inout3, move_ease_inout_back3);
sp1.RunAction(new CCRepeatForever ((CCActionInterval) seq3));
sublayer.AddChild(sp1, 1);
CCParticleFire fire = new CCParticleFire();
fire.Texture = (CCTextureCache.SharedTextureCache.AddImage("Images/fire"));
fire.Position = (new CCPoint(80, s.Height / 2 - 50));
var copy_seq3 = (CCActionInterval) (seq3.Copy());
fire.RunAction(new CCRepeatForever (copy_seq3));
sublayer.AddChild(fire, 2);
Schedule((shouldNotLeak), 6.0f);
AddChild(sublayer, 0, CocosNodeTestStaticLibrary.kTagSprite1);
}
示例11: IntervalLayer
public IntervalLayer()
{
m_time0 = m_time1 = m_time2 = m_time3 = m_time4 = 0.0f;
CCSize s = CCDirector.SharedDirector.WinSize;
// sun
CCParticleSystem sun = new CCParticleSun();
sun.Texture = CCTextureCache.SharedTextureCache.AddImage("Images/fire");
sun.Position = (new CCPoint(s.Width - 32, s.Height - 32));
sun.TotalParticles = 130;
sun.Life = (0.6f);
AddChild(sun);
// timers
m_label0 = new CCLabelBMFont("0", "fonts/bitmapFontTest4.fnt");
m_label1 = new CCLabelBMFont("0", "fonts/bitmapFontTest4.fnt");
m_label2 = new CCLabelBMFont("0", "fonts/bitmapFontTest4.fnt");
m_label3 = new CCLabelBMFont("0", "fonts/bitmapFontTest4.fnt");
m_label4 = new CCLabelBMFont("0", "fonts/bitmapFontTest4.fnt");
ScheduleUpdate();
Schedule(step1);
Schedule(step2, 0);
Schedule(step3, 1.0f);
Schedule(step4, 2.0f);
m_label0.Position = new CCPoint(s.Width * 1 / 6, s.Height / 2);
m_label1.Position = new CCPoint(s.Width * 2 / 6, s.Height / 2);
m_label2.Position = new CCPoint(s.Width * 3 / 6, s.Height / 2);
m_label3.Position = new CCPoint(s.Width * 4 / 6, s.Height / 2);
m_label4.Position = new CCPoint(s.Width * 5 / 6, s.Height / 2);
AddChild(m_label0);
AddChild(m_label1);
AddChild(m_label2);
AddChild(m_label3);
AddChild(m_label4);
// Sprite
CCSprite sprite = new CCSprite(s_pPathGrossini);
sprite.Position = new CCPoint(40, 50);
CCJumpBy jump = new CCJumpBy (3, new CCPoint(s.Width - 80, 0), 50, 4);
AddChild(sprite);
sprite.RunAction(new CCRepeatForever (
(CCActionInterval) (new CCSequence(jump, jump.Reverse())))
);
// pause button
CCMenuItem item1 = new CCMenuItemFont("Pause", onPause);
CCMenu menu = new CCMenu(item1);
menu.Position = new CCPoint(s.Width / 2, s.Height - 50);
AddChild(menu);
}
示例12: TextLayer
public TextLayer()
{
InitWithColor(CCTypes.CreateColor(32, 32, 32, 255));
float x, y;
CCSize size = CCDirector.SharedDirector.WinSize;
x = size.Width;
y = size.Height;
CCNode node = new CCNode ();
CCActionInterval effect = getAction();
node.RunAction(effect);
AddChild(node, 0, EffectTestScene.kTagBackground);
CCSprite bg = new CCSprite(TestResource.s_back3);
node.AddChild(bg, 0);
bg.AnchorPoint = new CCPoint(0.5f, 0.5f);
bg.Position = new CCPoint(size.Width / 2, size.Height / 2);
CCSprite grossini = new CCSprite(TestResource.s_pPathSister2);
node.AddChild(grossini, 1);
grossini.Position = new CCPoint(x / 3, y / 2);
CCActionInterval sc = new CCScaleBy(2, 5);
CCFiniteTimeAction sc_back = sc.Reverse();
grossini.RunAction(new CCRepeatForever ((CCActionInterval)(CCSequence.FromActions(sc, sc_back))));
//grossini.runAction(effect);
CCSprite tamara = new CCSprite(TestResource.s_pPathSister1);
node.AddChild(tamara, 1);
tamara.Position = new CCPoint(2 * x / 3, y / 2);
CCActionInterval sc2 = new CCScaleBy(2, 5);
CCFiniteTimeAction sc2_back = sc2.Reverse();
tamara.RunAction(new CCRepeatForever ((CCActionInterval)(CCSequence.FromActions(sc2, sc2_back))));
CCLabelTTF label = new CCLabelTTF(EffectTestScene.effectsList[EffectTestScene.actionIdx], "arial", 32);
label.Position = new CCPoint(x / 2, y - 80);
AddChild(label);
label.Tag = EffectTestScene.kTagLabel;
CCMenuItemImage item1 = new CCMenuItemImage(TestResource.s_pPathB1, TestResource.s_pPathB2, backCallback);
CCMenuItemImage item2 = new CCMenuItemImage(TestResource.s_pPathR1, TestResource.s_pPathR2, restartCallback);
CCMenuItemImage item3 = new CCMenuItemImage(TestResource.s_pPathF1, TestResource.s_pPathF2, nextCallback);
CCMenu menu = new CCMenu(item1, item2, item3);
menu.Position = new CCPoint(0, 0);
item1.Position = new CCPoint(size.Width / 2 - 100, 30);
item2.Position = new CCPoint(size.Width / 2, 30);
item3.Position = new CCPoint(size.Width / 2 + 100, 30);
AddChild(menu, 1);
Schedule(checkAnim);
}
示例13: OnEnter
public override void OnEnter()
{
base.OnEnter();
float x, y;
CCSize size = CCDirector.SharedDirector.WinSize;
x = size.Width;
y = size.Height;
CCSprite bg = new CCSprite("Images/background3");
AddChild(bg, 0, EffectAdvanceScene.kTagBackground);
bg.Position = new CCPoint(x / 2, y / 2);
grossini = new CCSprite("Images/grossinis_sister2");
bg.AddChild(grossini, 1, EffectAdvanceScene.kTagSprite1);
grossini.Position = new CCPoint(x / 3.0f, 200);
CCActionInterval sc = new CCScaleBy(2, 5);
CCFiniteTimeAction sc_back = sc.Reverse();
grossini.RunAction(new CCRepeatForever ((CCActionInterval)(CCSequence.FromActions(sc, sc_back))));
tamara = new CCSprite("Images/grossinis_sister1");
bg.AddChild(tamara, 1, EffectAdvanceScene.kTagSprite2);
tamara.Position = new CCPoint(2 * x / 3.0f, 200);
CCActionInterval sc2 = new CCScaleBy(2, 5);
CCFiniteTimeAction sc2_back = sc2.Reverse();
tamara.RunAction(new CCRepeatForever ((CCActionInterval)(CCSequence.FromActions(sc2, sc2_back))));
CCLabelTTF label = new CCLabelTTF(title(), "arial", 28);
label.Position = new CCPoint(x / 2, y - 80);
AddChild(label);
label.Tag = EffectAdvanceScene.kTagLabel;
string strSubtitle = subtitle();
if (strSubtitle != null)
{
CCLabelTTF l = new CCLabelTTF(strSubtitle, "arial", 16);
AddChild(l, 101);
l.Position = new CCPoint(size.Width / 2, size.Height - 80);
}
CCMenuItemImage item1 = new CCMenuItemImage("Images/b1", "Images/b2", backCallback);
CCMenuItemImage item2 = new CCMenuItemImage("Images/r1", "Images/r2", restartCallback);
CCMenuItemImage item3 = new CCMenuItemImage("Images/f1", "Images/f2", nextCallback);
CCMenu menu = new CCMenu(item1, item2, item3);
menu.Position = new CCPoint(0, 0);
item1.Position = new CCPoint(size.Width / 2 - 100, 30);
item2.Position = new CCPoint(size.Width / 2, 30);
item3.Position = new CCPoint(size.Width / 2 + 100, 30);
AddChild(menu, 1);
}
示例14: SpriteChildrenVisibility
public SpriteChildrenVisibility()
{
CCSize s = CCDirector.SharedDirector.WinSize;
CCSpriteFrameCache.SharedSpriteFrameCache.AddSpriteFramesWithFile("animations/grossini.plist");
CCNode aParent;
CCSprite sprite1, sprite2, sprite3;
//
// SpriteBatchNode
//
// parents
aParent = new CCSpriteBatchNode("animations/grossini", 50);
aParent.Position = (new CCPoint(s.Width / 3, s.Height / 2));
AddChild(aParent, 0);
sprite1 = new CCSprite("grossini_dance_01.png");
sprite1.Position = (new CCPoint(0, 0));
sprite2 = new CCSprite("grossini_dance_02.png");
sprite2.Position = (new CCPoint(20, 30));
sprite3 = new CCSprite("grossini_dance_03.png");
sprite3.Position = (new CCPoint(-20, 30));
aParent.AddChild(sprite1);
sprite1.AddChild(sprite2, -2);
sprite1.AddChild(sprite3, 2);
sprite1.RunAction(new CCBlink (5, 10));
//
// Sprite
//
aParent = new CCNode ();
aParent.Position = (new CCPoint(2 * s.Width / 3, s.Height / 2));
AddChild(aParent, 0);
sprite1 = new CCSprite("grossini_dance_01.png");
sprite1.Position = (new CCPoint(0, 0));
sprite2 = new CCSprite("grossini_dance_02.png");
sprite2.Position = (new CCPoint(20, 30));
sprite3 = new CCSprite("grossini_dance_03.png");
sprite3.Position = (new CCPoint(-20, 30));
aParent.AddChild(sprite1);
sprite1.AddChild(sprite2, -2);
sprite1.AddChild(sprite3, 2);
sprite1.RunAction(new CCBlink (5, 10));
}
示例15: SpriteHybrid
public SpriteHybrid()
{
CCSize s = CCDirector.SharedDirector.WinSize;
// parents
CCNode parent1 = new CCNode ();
CCSpriteBatchNode parent2 = new CCSpriteBatchNode("animations/grossini", 50);
AddChild(parent1, 0, (int)kTags.kTagNode);
AddChild(parent2, 0, (int)kTags.kTagSpriteBatchNode);
// IMPORTANT:
// The sprite frames will be cached AND RETAINED, and they won't be released unless you call
// CCSpriteFrameCache::sharedSpriteFrameCache()->removeUnusedSpriteFrames);
CCSpriteFrameCache.SharedSpriteFrameCache.AddSpriteFramesWithFile("animations/grossini.plist");
// create 250 sprites
// only show 80% of them
for (int i = 0; i < 250; i++)
{
int spriteIdx = (int)(CCRandom.NextDouble() * 14);
string str = "";
string temp = "";
if (spriteIdx+1<10)
{
temp = "0" + (spriteIdx+1);
}
else
{
temp = (spriteIdx+1).ToString();
}
str = string.Format("grossini_dance_{0}.png", temp);
CCSpriteFrame frame = CCSpriteFrameCache.SharedSpriteFrameCache.SpriteFrameByName(str);
CCSprite sprite = new CCSprite(frame);
parent1.AddChild(sprite, i, i);
float x = -1000;
float y = -1000;
if (CCRandom.NextDouble() < 0.2f)
{
x = (float)(CCRandom.NextDouble() * s.Width);
y = (float)(CCRandom.NextDouble() * s.Height);
}
sprite.Position = (new CCPoint(x, y));
CCActionInterval action = new CCRotateBy (4, 360);
sprite.RunAction(new CCRepeatForever (action));
}
m_usingSpriteBatchNode = false;
Schedule(reparentSprite, 2);
}