- Home /
Unity 3D C# - Drawing Lines On Tiles
I'm close to getting this working, it works like 30% of the time but I want 100%, basically I just want to draw a line to one point to another, in 2D array of any size, I use 50,50 for testing, this is my code, wondering if anyone can help me fix this problem?
//still neeeds to be fixed
void DrawLineOnArray(int pointAx, int pointAz, int pointBx, int pointBz){
// int width = pointBx - pointAx;
// int length = pointBz - pointAz;
int width = 50;
int length = 50;
int[,] lineBlocks = new int[width, length];
//set the whole array to 0
for(int z = 0; z < length; z++){
for(int x = 0; x < width; x++){
lineBlocks[x, z] = 0;
}
}
int slope = (pointBz - pointAz) / (pointBx - pointAx);
//set the line to the array
for(int z = 0; z < length; z++){
for(int x = 0; x < width; x++){
//if((z == pointAz + length * (x - pointAx) / width) || (x == pointAx + length * (z - pointAz) / width)){
if( (z == slope * (x - pointAx) + pointAz) || (x == slope * (z - pointAz) + pointAx) ){
lineBlocks[x, z] = 2;
}
//}
}
}
//replace the all blocks witht he line in the lineblocks array
for(int z = 0; z < length; z++){
for(int x = 0; x < width; x++){
//ignore 0's allowing for over laping circles
if(lineBlocks[x, z] != 0){
allBlocks[x, z] = lineBlocks[x, z];
}
}
}
}
Comment
Your answer
![](https://koobas.hobune.stream/wayback/20220612075513im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Finding any objects below or above object at ANY POINT? 1 Answer
How to remove null's from 2d array ? It's removing but only 2 out of 4 null's. 0 Answers
How to move like Pacman/Snake using Raycasts inside a 2D array ? 1 Answer
Finding the angle between 2 clicked points 2 Answers
A null value was found where an object instance was required. 1 Answer