MFC實現遊戲Launcher效果

2021-06-07 07:51:10 字數 654 閱讀 7267

一般遊戲的launcher視窗或者splash視窗都有比較玄的半透明效果。

普通的通過鏤空視窗形成的異形視窗無法支援半透明效果,

下面介紹一種通過繪製半透明png的方式來實現這種效果的方法。

如果視窗不需要拖動,簡單點,用gdi+ 在 onerasebkgnd 或者 onpaint 繪製png就可以實現。

如果視窗需要拖動,則需要動點手腳。我們可以用layered的特性解決拖動時背景**的問題。

關鍵**如下:

bool cspwnddlg::oninitdialog()

bool cspwnddlg::onerasebkgnd(cdc* pdc)

lresult cspwnddlg::onnchittest(cpoint point)

//拖動的時候重新整理視窗

void cspwnddlg::onmove(int x, int y)

}

這樣之後,視窗就是半透明的並且可以拖動的。

但視窗不是異形的,如果需要把透明部分鏤空需要其他操作。

示例**:

實現類似launcher的滑動桌面

這個例子中涉及到了以下幾個知識點 接下來說一下我實現的 思路 2 由於要實現隨手勢滑動,所以只要實現gesturedetector.ongesturelistener介面中的ondown onscroll 方法就可以 3 由於要接收觸屏事件,所以要實現ontouchevent 接下來我們來看一下 吧...

MFC 滑鼠單擊小遊戲簡單實現

功能 測試點選滑鼠的速度,在介面上顯示速度和級別。過程 1 單擊開始後獲取開始時間,初始化計數為0並設定開始狀態為true 2 響應單擊滑鼠左鍵訊息。如果開始狀態為假則直接返回,這主要是為避免在單擊開始之前就進行計數。此時由於開始時間未知,會在計算速度時產生未知的結果 1 endtime ctime...

基於MFC類庫實現的飛機大戰小遊戲

1 概述 1.1 簡介 本次實訓專案是做乙個飛機大戰的遊戲,完成乙個介面簡潔 操作簡單的桌面遊戲。該飛機大戰專案主要使用的是mfc程式設計,運用mfc中的類以及自己建立的類,設計好各個類之間的繼承關係,實現飛機大戰遊戲的簡單功能。1.2 基本功能 設定乙個戰機具有一定的速度,通過鍵盤,方向鍵可控制戰...