特效

来源:互联网 发布:淘宝开店需要多少钱 编辑:程序博客网 时间: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,不再反复多次触发。

 

原创粉丝点击