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


C++ Animation::SetAlpha方法代码示例

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


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

示例1: Load


//.........这里部分代码省略.........

			if (buffer.empty())
				continue;

			if (buffer[0] == '/')
				continue;

			prev = 0;
			pos = buffer.find(' ');


			string cfilename = buffer.substr(prev, pos-prev);
			prev = pos;
			pos = buffer.find(' ', prev+1);
			string rect = buffer.substr(prev+1, pos-prev-1);
			prev = pos;
			pos = buffer.find(' ', prev+1);
			string option = buffer.substr(prev+1);

			if (cfilename.empty() || rect.empty())
				continue;

			// filename
			wstring wfilename;
			string::iterator it;
			for (it = cfilename.begin(); it != cfilename.end(); it++)
			{
				char c = *it;
				wchar_t wc = wchar_t(c);
				wfilename.append(1, wc);
			}

			// rect
			Rect rc;
			prev = 0;
			pos = rect.find(',',prev+1);

			rc.left	= atoi(rect.substr(prev, pos).c_str());
			prev = pos;
			pos = rect.find(',',prev+1);
			rc.top	= atoi(rect.substr(prev+1, pos).c_str());
			prev = pos;
			pos = rect.find(',',prev+1);
			rc.right = atoi(rect.substr(prev+1, pos).c_str());
			prev = pos;
			pos = rect.find(',',prev+1);
			rc.bottom = atoi(rect.substr(prev+1, pos).c_str());


			Image* pImage = new Image;
			pImage->Load(wfilename.c_str(), rc);

			pAni->AddImage(pImage);

			// option
			if (!option.empty())
			{
				prev = 0;
				pos = option.find(' ', prev);
				int bTrans = atoi(option.substr(prev, pos-prev).c_str());
				if (bTrans == 1)
				{
					// 투명처리할 색 읽어오기...
					prev = pos;
					pos = option.find(' ', prev+1);
					string szColor = option.substr(prev+1, pos-prev-1);

					//BYTE r, g, b;
					//r = c2d(szColor[0])*16 + c2d(szColor[1]);
					//g = c2d(szColor[2])*16 + c2d(szColor[3]);
					//b = c2d(szColor[4])*16 + c2d(szColor[5]);

					pAni->SetTransparent(Color(szColor.c_str()));
				}
				prev = pos;
				pos = option.find(' ', prev+1);
				int bAlpha = atoi(option.substr(prev, pos-prev).c_str());
				if (bAlpha == 1)
				{
					// 알파값 읽어오기...
					prev = pos;
					pos = option.find(' ', prev+1);
					int nAlpha = atoi(option.substr(prev).c_str());

					pAni->SetAlpha(BYTE(nAlpha));
				} // if (bAlpha == 1)

			} // if (!option.empty())

			i++;
		} // for (int i = 0; i < count;)

		// 동일한 ID로 등록된 애니메이션이 있다면, 동적할당한 것 삭제처리.
		if (!AniDepot.push(id.c_str(), pAni))
			delete pAni;

	}

	file.close();
}
开发者ID:kos2399,项目名称:sonic,代码行数:101,代码来源:LoadAnimationResource.cpp


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