トップ回答者
将棋のように、コマを動かすゲームをWPFで作ろうとしています。

質問
-
いつもお世話になります。
VisualC#2010、WindowsXP, WPFでの動作について質問があります。
将棋のように、コマを動かすゲームをWPFで作ろうとしています。
コマはImageに配置し、位置を設定するために、canvasに乗せました。
さらにそのcanvasをcanvasに乗せています。<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" Name="window">
<Canvas Name="allcanvas" MouseLeftButtonDown="image1_MouseLeftButtonDown" MouseMove="image1_MouseMove" MouseUp="image1_MouseUp" >
<Canvas Name="imagecanvas" Height="100" Width="150" MouseLeave="allcanvas_MouseLeave">
<Image Height="100" HorizontalAlignment="Left" Margin="126,56,0,0" Name="image1" Stretch="Fill" VerticalAlignment="Top" Width="150"
Canvas.Left="-126" Canvas.Top="-56"
Source="001.jpg" MouseUp="image1_MouseUp" />
</Canvas>
</Canvas>
</Window>private Point startPoint;
private bool IsDragging;
private void image1_MouseMove(object sender, MouseEventArgs e){
if (IsDragging) {
Point movePoint = e.GetPosition(this);
Canvas.SetLeft(imagecanvas, movePoint.X - startPoint.X);
Canvas.SetTop(imagecanvas, movePoint.Y - startPoint.Y);
}
}private void image1_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) {
startPoint = e.GetPosition(this);
IsDragging = true;
}private void image1_MouseUp(object sender, MouseButtonEventArgs e) {
if (IsDragging) IsDragging = false;
}これで、右方向にはドラッグできるのですが、左方向にはできずにいます。
どのようにしたらよいか、アドバイスお願いします。
回答
-
ドラッグ&ドロップでコントロールを移動する方法なら
http://msdn.microsoft.com/ja-jp/library/cc189066(VS.95).aspx
とか
が参考になると思います。
なかむら(http://d.hatena.ne.jp/griefworker)- 回答としてマーク d-kot 2010年11月14日 6:44
すべての返信
-
ドラッグ&ドロップでコントロールを移動する方法なら
http://msdn.microsoft.com/ja-jp/library/cc189066(VS.95).aspx
とか
が参考になると思います。
なかむら(http://d.hatena.ne.jp/griefworker)- 回答としてマーク d-kot 2010年11月14日 6:44