您所在的位置:下载吧 » 软件教程 » 编程开发 » 正文

NSIS火焰特效

  • 时间:2014-06-06 17:09:11
  • 来源:下载吧
  • 编辑:huashi

火焰特效制作方法有很多,专业的如PS但要在nsis中实现却并非易事,借助firectrl控件可以很方便的在nsis中制作火焰特效,让你感受不一样的界面效果,它是在界面显示之前先加载动态库,将所需处理的图片加载到内存,然后调用接口就可以实现这个特效了,像熊熊火焰在图片底部燃烧,看起来非常炫,那么具体是如何实现的呢,请下下面的代码.为了能够实现这个效果你必须先下载相应的插件哦.

/*
if you have this effects,please keep!

Writer:【Mr.Z_production ·JUAN】
http://blog.163.com/53_54
Thanks:Restools,zhfi,X-Star
*/

!AddPluginDir "."
!AddIncludeDir "."

!include MUI2.nsh

; --------------------------------------------------
; General settings.

Name "Flame_Effects Example"
OutFile "NSIS_fire.exe"
SetCompressor /SOLID lzma

ReserveFile "${NSISDIR}Pluginssystem.dll"
ReserveFile firectrl.dll

; --------------------------------------------------
; MUI interface settings.
 !define MUI_FINISHPAGE_NOAUTOCLOSE
; --------------------------------------------------
; Insert MUI pages.
!define MUI_WELCOMEFINISHPAGE_BITMAP WizModernImage-Is.bmp

; Installer pages
!define MUI_PAGE_CUSTOMFUNCTION_PRE pre
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE leave
!define MUI_WELCOMEPAGE_TEXT "火焰效果"
 !insertmacro MUI_PAGE_WELCOME

 !insertmacro MUI_PAGE_INSTFILES

!define MUI_PAGE_CUSTOMFUNCTION_Pre pre
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE leave
 !insertmacro MUI_PAGE_FINISH

; --------------------------------------------------
; Languages.

 !insertmacro MUI_LANGUAGE "english"

Function .onGUIEnd
SetPluginUnload manual
firectrl::disablefire
System::Free
FunctionEnd

Function .onInit
InitPluginsDir
SetOutPath $PLUGINSDIR
File firectrl.dll
SetOutPath $TEMP
FunctionEnd

Function Pre
  System::Call 'user32::LoadImage(i,t,i,i,i,i,) i (0,"$PLUGINSDIRmodern-wizard.bmp",0,0,0,0x10) .s'
Pop $R0
 System::Call '$PLUGINSDIRfirectrl::enablefire(i,i,i,i,i) i ($HWNDPARENT,0,0,$R0,50)'
FunctionEnd

Function leave
 System::Call '$PLUGINSDIRfirectrl::disablefire()'
FunctionEnd

 Section "Dummy" SecDummy
 SectionEnd

 

推荐阅读

人气排行