特效
来源:互联网 发布:淘宝开店需要多少钱 编辑:程序博客网 时间:2024/05/02 01:23
----------------------------西昌.何雨锋 特效
GraphicEffect特效有谈入、淡出、闪光等等的。
ITVGraphicEffect effect1;
//main()中
effect1=CreateTVGraphicEffect();
//最好在键盘事件里写上
effect1->FadeIn(1000);
effect1->FadeOut(1000);
effect1->Flash(0.6,0.7,0.8,10000);
//等等的,如果要在事前写的话,就的把在种效果前后加上
engine1->clear(false);
effect1->FadeIn(1000);
rendertoscreen();
就可以实现了。
特效有如下几种:
1、 FadeIn(n); 先黑后白,淡入,n是毫秒数,如果在render前就使用,会导致不断发生颜色变化循环;如果把它放入类中成为一个
函数,就可以避免这种循环,它只特效一次就结束了。如果把它放到渲染循环中,就会导致黑屏。
2、 FadeOut(n); 淡出。
3、 Flash(r,g,b,n); 闪光,但是这个特效你既使把它放到类中去也仍然会循环,除非你用专门的算法要求它停下来。
4、 ChangeGama(n); 改变色调,一般是从0.1到1就偏黑了,1以上就偏白了。
所以在编特效类时,注意一定要不要将背景与特效编入一个成员函数中,而要分别编写背景读取函数、背景渲染函数(用在渲染循环中)、特效使用函数。
特效一般不使用在循环中,而可以由事件触发,如果一旦使用在循环中,那么最好由一个bool变量触发一次,以后再设为false,不再反复多次触发。