当前位置: 首页>>代码示例>>C++>>正文


C++ Frame::GetSingleTime方法代码示例

本文整理汇总了C++中Frame::GetSingleTime方法的典型用法代码示例。如果您正苦于以下问题:C++ Frame::GetSingleTime方法的具体用法?C++ Frame::GetSingleTime怎么用?C++ Frame::GetSingleTime使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Frame的用法示例。


在下文中一共展示了Frame::GetSingleTime方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: Process

bool DIVAGame::Process()
{
	if (m_isStart)
	{
		double currentTime = EEGetTotalTime() - m_startTime;
		double deltaTime = currentTime - m_currentTime;
		m_currentTime = currentTime;

		// handle all notes
		for (auto ptr = m_notes.begin(); ptr != m_notes.end(); )
		{
			ptr->Update(deltaTime);
			// Normal
			if (ptr->m_type == NOTETYPE_NORMAL)
			{
				switch (ptr->m_state)
				{
				case DIVA_NOTE_DEFAULT:
					break;
				case DIVA_NOTE_COOL:
					m_emitter.Emit(ptr->GetPosition());
					ptr = m_notes.erase(ptr);
					continue;
				case DIVA_NOTE_FINE:
					break;
				case DIVA_NOTE_SAFE:
					break;
				case DIVA_NOTE_SAD:
					break;
				case DIVA_NOTE_WORST:
					ptr = m_notes.erase(ptr);
					continue;
				default:
					ptr = m_notes.erase(ptr);
					continue;
				}
			}
			// strip
			else
			{
				switch (ptr->m_state)
				{
				case DIVA_NOTE_DEFAULT:
					break;
				case DIVA_NOTE_COOL:
					m_emitter.Emit(ptr->GetPosition());
					break;
				case DIVA_NOTE_FINE:
					break;
				case DIVA_NOTE_SAFE:
					break;
				case DIVA_NOTE_SAD:
					break;
				case DIVA_NOTE_WORST:
					ptr = m_notes.erase(ptr);
					continue;
				case DIVA_NOTE_STRIP_DEFAULT:
					break;
				case DIVA_NOTE_STRIP_COOL:
					m_emitter.Emit(ptr->GetPosition());
					ptr = m_notes.erase(ptr);
					continue;
				case DIVA_NOTE_STRIP_FINE:
					break;
				case DIVA_NOTE_STRIP_SAFE:
					break;
				case DIVA_NOTE_STRIP_SAD:
					break;
				case DIVA_NOTE_STRIP_WORST:
					ptr = m_notes.erase(ptr);
					continue;
				default:
					ptr = m_notes.erase(ptr);
					continue;
				}
			}

			++ptr;
		}

		// handle new frames
		while (m_noteTime <= m_currentTime)
		{
			Frame* frame = m_noteMap.GetFrame();
			if (frame)
			{
				if (frame->isSetBPM)
				{
					m_singleTime = frame->GetSingleTime();
				}
				// load files, play music
				for (int i = 0; i < BGS_NUM; i++)
				{
					if (frame->music[i] >= 0)
						m_music[frame->music[i]]->Start();
				}
				
				m_noteTime = frame->timePos;
			}
			else
//.........这里部分代码省略.........
开发者ID:trekker777,项目名称:Emerald,代码行数:101,代码来源:DIVAGame.cpp


注:本文中的Frame::GetSingleTime方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。