Äúµ±Ç°µÄλÖãºÊ×Ò³ > IT±à³Ì > C++
| CÓïÑÔ | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | ѧÊõÓë´úÂë | cnn¾í»ýÉñ¾­ÍøÂç | gnn | ͼÏñÐÞ¸´ | Keras | Êý¾Ý¼¯ | Neo4j | ×ÔÈ»ÓïÑÔ´¦Àí | Éî¶Èѧϰ | ҽѧCAD | ҽѧӰÏñ | ³¬²ÎÊý | pointnet | pytorch | Òì³£¼ì²â | Transformers | Çé¸Ð·ÖÀà | ֪ʶͼÆ× |

×Ôѧ½Ì³Ì£ºC++ Animationº¯Êý´úÂëʾÀý

51×ÔÑ§Íø 2021-06-01 19:47:01
  C++
ÕâÆª½Ì³ÌC++ Animationº¯Êý´úÂëʾÀýдµÃºÜʵÓã¬Ï£ÍûÄܰﵽÄú¡£

±¾ÎÄÕûÀí»ã×ÜÁËC++ÖÐAnimationº¯ÊýµÄµäÐÍÓ÷¨´úÂëʾÀý¡£Èç¹ûÄúÕý¿àÓÚÒÔÏÂÎÊÌ⣺C++ Animationº¯ÊýµÄ¾ßÌåÓ÷¨£¿C++ AnimationÔõôÓã¿C++ AnimationʹÓõÄÀý×Ó£¿ÄÇô¹§Ï²Äú, ÕâÀᆱѡµÄº¯Êý´úÂëʾÀý»òÐí¿ÉÒÔΪÄúÌṩ°ïÖú¡£

ÔÚÏÂÎÄÖÐÒ»¹²Õ¹Ê¾ÁËAnimationº¯ÊýµÄ29¸ö´úÂëʾÀý£¬ÕâЩÀý×ÓĬÈϸù¾ÝÊÜ»¶Ó­³Ì¶ÈÅÅÐò¡£Äú¿ÉÒÔΪϲ»¶»òÕ߸оõÓÐÓõĴúÂëµãÔÞ£¬ÄúµÄÆÀ¼Û½«ÓÐÖúÓÚÎÒÃǵÄÏµÍ³ÍÆ¼ö³ö¸ü°ôµÄC++´úÂëʾÀý¡£

ʾÀý1: walk_velocity_

GameEntity::GameEntity(): walk_velocity_(10.0), jump_velocity_(160.0), // TODO send to constructor                          direction_(1.0),                          position_(0.0, 0.0), velocity_(0.0, 0.0),                          state_(&AState::standing_state), // TODO should not be static                          animations_(),                          frame_data_component_(),                          inputs_component_(),                          physics_component_(),                          graphics_component_() {  animations_[0] = Animation();  animations_[1] = Animation();  animations_[2] = Animation();}
¿ª·¢ÕßID:adrien-bougouin£¬ÏîÄ¿Ãû³Æ:legendary-fighters£¬´úÂëÐÐÊý:13£¬


ʾÀý2: Animation

Animation AnimationList::operator[](unsigned int index){    try{        if(index > anims.size() - 1)            throw 0;        else{            return Animation(anims[index]);        }    }    catch(int){        std::cerr << "Can't access AnimationList[" << index << "], returning AnimationList[0]." << std::endl;        return Animation(anims[0]);    }}
¿ª·¢ÕßID:Beulard£¬ÏîÄ¿Ãû³Æ:beul£¬´úÂëÐÐÊý:13£¬


ʾÀý3: initAnimations

void BoardActor::initAnimations(){	animations.clear();	animations.push_back(Animation());	animations.push_back(Animation());	animations[0].addFrame(Frame(Coordinate2D<double>(.25,0), Coordinate2D<double>(.5,1), .04)); //idle	animations[0].addFrame(Frame(Coordinate2D<double>(.75,0), Coordinate2D<double>(1,1), .04)); //idle	animations[1].addFrame(Frame(Coordinate2D<double>(0,0), Coordinate2D<double>(.25,1), .04)); //moving	animations[1].addFrame(Frame(Coordinate2D<double>(.5,0), Coordinate2D<double>(.75,1), .04)); //moving	spriteSheet = BlitHelper::loadImageGL("C://Users//banan//workspace//SpaghettiWestern//Resources//adude.bmp");	active_animation = 0;}
¿ª·¢ÕßID:SpaghettiWestern£¬ÏîÄ¿Ãû³Æ:SpaghettiWestern£¬´úÂëÐÐÊý:14£¬


ʾÀý4: Animation

	Obj::Obj(nl::node src)	{		animation = Animation(nl::nx::map["Obj"][src["oS"] + ".img"][src["l0"]][src["l1"]][src["l2"]]);		pos = Point<int16_t>(src["x"], src["y"]);		flip = src["f"].get_bool();		z = src["z"];	}
¿ª·¢ÕßID:snopboy£¬ÏîÄ¿Ãû³Æ:JourneyClient£¬´úÂëÐÐÊý:7£¬


ʾÀý5: switch

//©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥//	Name        : ¸üÐÂ//	Description : ¤¤¤í¤ó¤Ê¸üÐÂ//	Arguments   : ¤Ê¤¤¤è//	Returns     : ¤Ê¤¤¤è//©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥void CFlower::Update(){		switch(m_nPhase)	{	case FLOWER_PHASE_INIT:		m_lastTime = CTimer::GetTime();		m_nPhase++;		break;	case FLOWER_PHASE_START:		RotationZ((float)(m_nowTime - m_lastTime) * m_rotSpd);		m_nowTime = CTimer::GetTime();		if(m_nowTime - m_lastTime > abs(m_rotSpd)){			m_nPhase = FLOWER_PHASE_FLOWER;		}		break;	case FLOWER_PHASE_FLOWER:		RotationZ(m_rotSpd * abs(m_rotSpd));		break;	case FLOWER_PHASE_WAIT:		RotationZ(m_rotSpd);		break;	case FLOWER_PHASE_UNINIT:		break;	}	Translate(m_pos);	Animation();}
¿ª·¢ÕßID:Kon-Iku£¬ÏîÄ¿Ãû³Æ:graine£¬´úÂëÐÐÊý:37£¬


ʾÀý6: rand

void Bear::Update(float _Time, int** _Terrain,float _MaxWidth,float _MaxHeight){	if(getLife() == false)	{		int random ;		random = rand() % 4 ;		switch(random)		{		case  0 :			Item *_item = new Item(m_X,m_Y);			ManagerObject::Instance()->getListItem()->push_back(_item);			break ;		}		EffectDieBear *_EffectDie = new EffectDieBear(this,m_X,m_Y);		ManagerObject ::Instance()->getListEffect()->push_back(_EffectDie);	}	if(m_skillManager->getSkill(0)->getSTT()==ACTIVE)	{		m_skillManager->Update(_Time,_Terrain,_MaxWidth,_MaxHeight);	}	else if(m_skillManager->getSkill(0)->getSTT() !=ACTIVE)	{		if(getFrenzy() ==false)		{			Move(_Time,_Terrain,_MaxWidth,_MaxHeight);			}		Animation(_Time);		UpdateStatus(_Time);		m_skillManager->Update(_Time,_Terrain,_MaxWidth,_MaxHeight); //??	}}
¿ª·¢ÕßID:NguyenMinhTri£¬ÏîÄ¿Ãû³Æ:bigse-game2d£¬´úÂëÐÐÊý:32£¬


ʾÀý7: Animation

	//-----------------------------------------------------------------------	Animation* Animation::clone(const String& newName) const	{		Animation* newAnim = OGRE_NEW Animation(newName, mLength);        newAnim->mInterpolationMode = mInterpolationMode;        newAnim->mRotationInterpolationMode = mRotationInterpolationMode;				// Clone all tracks		for (NodeTrackList::const_iterator i = mNodeTrackList.begin();			i != mNodeTrackList.end(); ++i)		{			i->second->_clone(newAnim);		}		for (NumericTrackList::const_iterator i = mNumericTrackList.begin();			i != mNumericTrackList.end(); ++i)		{			i->second->_clone(newAnim);		}		for (VertexTrackList::const_iterator i = mVertexTrackList.begin();			i != mVertexTrackList.end(); ++i)		{			i->second->_clone(newAnim);		}        newAnim->_keyFrameListChanged();		return newAnim;	}
¿ª·¢ÕßID:jjiezheng£¬ÏîÄ¿Ãû³Æ:pap_full£¬´úÂëÐÐÊý:28£¬


ʾÀý8: Animation

void myCam::queueAnimation(QVector3D ziel, QVector3D zielLookat, int duration){    Animation aniNew = Animation(ziel,zielLookat,duration);    this->animations.push_back(aniNew);	if (!this->isMoving)		this->nextAnimation();		}
¿ª·¢ÕßID:ragemcmad£¬ÏîÄ¿Ãû³Æ:CGBillard£¬´úÂëÐÐÊý:8£¬


ʾÀý9: Animation

ÍòÊÂOK×ÔÑ§Íø£º51×ÔÑ§Íø_Èí¼þ×ÔÑ§Íø_CAD×ÔÑ§Íø×Ôѧexcel¡¢×ÔѧPS¡¢×ÔѧCAD¡¢×ÔѧCÓïÑÔ¡¢×Ôѧcss3ʵÀý£¬ÊÇÒ»¸öͨ¹ýÍøÂç×ÔÖ÷ѧϰ¹¤×÷¼¼ÄܵÄ×Ôѧƽ̨£¬ÍøÓÑϲ»¶µÄÈí¼þ×ÔÑ§ÍøÕ¾¡£