C#C
C#8mo ago
Daiko Games

✅ Collision in Avalonia

Hello, I am trying to find out how Collisions can be detected through Avalonia, i tested these things alerady:
Here my Cs Code of the Window I use:
using Avalonia;
using Avalonia.Controls;
using Avalonia.Media.Imaging;
using Avalonia.Threading;
using MsBox.Avalonia;
using MsBox.Avalonia.Enums;
using System;
using System.Threading.Tasks;

namespace CollidingObjects
{
public partial class MainWindow : Window
{

public MainWindow()
{
InitializeComponent();
Image1.Source = new Bitmap("red.png");
Image2.Source = new Bitmap("green.png");
SetupPhysics();
}

private async Task SetupPhysics()
{
Rect Object1 = new Rect(Canvas.GetLeft(Image1), Canvas.GetTop(Image1), Image1.Width, Image1.Height);
Rect Object2 = new Rect(Canvas.GetLeft(Image2), Canvas.GetTop(Image2), Image2.Width, Image2.Height);
if (Object1.Intersects(Object2))
{
Console.Write("Collision");
var COllisionMedia = MessageBoxManager.GetMessageBoxStandard("Collision", "", ButtonEnum.Ok, MsBox.Avalonia.Enums.Icon.None, WindowStartupLocation.CenterScreen);
await COllisionMedia.ShowAsync();
}
}
}
}

and here the AXAML code of my window:

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compat<Window xmlns="https://github.com/avaloniaui"
ibility/2006"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="CollidingObjects.MainWindow"
Title="CollidingObjects">
<Canvas Name="GameCanvas">

<Image
Name="Image1"
Canvas.Top="0"
Canvas.Left="20"
/>

<Image
Name="Image2"
Canvas.Top="30"
Canvas.Left="-20"
/>

</Canvas>

</Window>
Was this page helpful?