首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 開發 WPF/Silverlight 動畫與遊戲系列教程(十三)地圖牽引式移動(二)—— 透明滾動介質法實作

     編輯:關於C語言

第一種方法:實體滾動介質

建立 8 個全透明 Rectangle 佈局地圖邊緣 8 區域(相對視窗固定),CompositionTarget 即時判斷滑鼠懸停觸發滾動。

正下方介質建立範例

int scrollspeed = 5;
Rectangle roller = new Rectangle();

private void InitRoller() {
    roller.Width = 800; roller.Height = 20;
    roller.Opacity = 0.3;  // 演示用 0.3,實際設 0
    roller.Fill = new SolidColorBrush(Colors.Blue);
    Carrier.Children.Add(roller);
    Canvas.SetZIndex(roller, 10001);
    Canvas.SetTop(roller, 490);
}

Timer_Tick 判斷滑鼠懸停

private void Timer_Tick(object sender, EventArgs e) {
    if (roller.IsMouseOver)
        Canvas.SetTop(Map, Canvas.GetTop(Map) - scrollspeed);
}

其他 7 區域同理。Ctrl+F5 測試:滑鼠停留下方藍條,地圖平滑向上移動,實現視窗向下取景。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved