Interface And Graphics :: Lots Of Data To Handle - Locate A Tile In The Map When It Is Clicked?
Jan 31, 2011
My tile-based map editor project. So far, it works really awesome. Here, look at a picture: [URL] And the screenshot is outdated: Now I got the Pencil, Rectangle and FloodFill tools too!, the tilesets are from that popular (well, not so popular) game engine called RPGMaker.
Currently, this is how the map is structured:
One ArrayList represents the X coordinates.
One ArrayList in each X represents the Y coordinates.
One ArrayList in each X,Y represents the tile.
The tile is an ArrayList containing three elements:
The Image name (Tileset01 in the screenshot), the X coordinate in the image, and the Y coordinate in the image. Those coordinates are from the TILESET01 image, not map.
Getting the idea?
How do you locate a tile in the map when it is clicked?
First I get the cursor's position on the map picturebox, then convert it to a multiple of 32 (the tiles are 32x32, yes), divide the position X and Y by 32. The results are the indexes I need to get to the tile I clicked.
That method works just fine for me.
When the map picturebox invalidates and needs painting... When that happens, I iterate through each X and Y arrayList. When I get the arrayList that represents the tile, I use it to draw on the map.
For example:
Iterating X arrayList.... step 8......
Iterating Y arrayList..... step 3.......
Found arrayList with three elemetns: ("Tileset01",32,96)
Draw image on the map picturebox, source is "Tileset01" on rectangle (32,96,32,32)... draw it on map picturebox's point (8 * 32) and (3 * 32)
And so on.
Now you understand how I am working with my map editor, how I am locating clicked tiles, and how I am drawing it. Everything goes fine, except for one problem: At some point, the user might want to make a 500x500 map.
That means, an arrayList with 500 elements representing the X tiles. Then an arrayList with 500 elements for each X tile, representing the Y tiles. Then an arrayList in each X,Y pair.
Then multiply that result by 5, because there will be 5 drawing layers. How am I supposed to handle such huge maps?! My app explodes when I set the map dimensions to 500x500! 500x500 is the max setting allowed in my app. I also know that 500x500 map editors are possible, because I have seen others before. With great performance.
View 1 Replies
ADVERTISEMENT
Jan 16, 2011
So now I will try to make something more complex, still playing around with this graphics thing.I want a picturebox to display a tileset (a bunch of 32x32 tiles normally used for creating game levels etc), the picturebox is inside a container (which has autoscroll ON). The picturebox is larger than the container, so the container will make scrollbars automatically.Now, I need to be able to choose a tile or multiple tiles (if I click & drag the mouse)Basically I want to draw a 32x32 "red" box over each selected tile (so the user knows what tiles are selected).So first of all, I need to know when the mouse clicks the picture. Good. It works.Now, I need to know which 32x32 tile was clicked. Well, I think I can calculate that just fine.BUT, what if the user drags the mouse while clicking on a tile? I want to support multiple tiles selected, but I am clueless about tracking what tiles were chosen.If we solve that problem, I would have another curiosity: You know the "red boxes" that tell you which tiles are selected? What would happen if I dragged the scroll bar? I need the redboxes to move along with the picture, and hide if they go to an invisible area.
View 6 Replies
Apr 6, 2011
So I have a relatively small website with growing amounts of data - the fastest growing table is pageviews, as we do all our analytics ourselves. The website is made using VB.Net, SQL Server 2008 and jQuery. I am limited to .net 2.5.I currently handle all the data and validation using objects with a list of attributes. Each attribute is of a specific datatype and has a validation function when a new value is given to it. If the data does not validate then it won't even get as far as updating the database and feeds back an error to the user. Currently I have "Manager" classes and "Item" classes - Items are managed by a particular Manager class, for example Users are managed by the UserManager, so to get all the users I just have to call UserManager.Items. These Manager classes are stored in the cache and are created as needed - but once a Manager class is referenced it creates all of the Items within it. This is getting rather slow now, as the company is growing fast. It takes 2 - 3 seconds to load the first page (the page which makes most first-time requests to data) but I am not happy with this time. After that it is nearly instant.
Now the way I see it I have 3 options to speed the website up: Keep it as it is, but try to make it more efficient through other techniques;Change to creating all these objects on every page load, in the hope that it is simply so slow because I am using the cache to store a fair amount of data (about 10 MB or so at least);Forgetting using object oriented techniques and just use straight SQL queries and loop through records.
View 1 Replies
Mar 18, 2011
I can tell when the user clicks on my picturebox. Can I tell which mouse button was used? Left or right?
View 1 Replies
Jul 31, 2010
I am currently creating an app and i want to be able to get the colour of a pixel, but in a picturebox.Example: I click anywhere in the picturebox and it will give me the color of the pixel I clicked.
View 3 Replies
Mar 4, 2009
I am working on a Windows application written in VB with Visual Studio 2005. I have a number of fields where the user needs to enter currency amounts. I am using a MaskedTextBox with the following currency mask. msktxtAssessedVal.Mask = "$ #######.99"
The problem that I am having is that when the users type in the value, the cursor always starts at the leftmost position and appears to force as many digits as the mask. The typical data values can vary anywhere between 9,999,999.99 and 20,000.00. If the users do NOT have a value that has 7 digits left of the decimal point, they need to move the cursor to the correct position before they start typing in the value. These users are used to quickly typing in their data, then tabbing to the next field so the current behavior is not acceptable. We previously used a ComponentOne MaskedTextbox, however, their controls now are no longer free and the boss will not pay!!!
Does anyone know if there is a way for the maskedtextbox or any text control to detect where the user types the decimal and format the data accordningly?
View 2 Replies
Mar 8, 2012
i have a small wp7 application with just a main page. The main page has 4 buttons and calls the ConnectionSettingstask for wifi, bluetooth, airplanemode and cellular data setting. I have also managed to create secondary tiles for any of these buttons. The OnNavigateTo event handles the secondary tiles using a key passed from the tile [code]The problem ia that when the user uses the secondary tile to call a task, the application opens directly the connection settings page, but after that the back key, instead of opening the phone main menu, open the main page of my application
View 1 Replies
Mar 14, 2011
OK, this is crazy - How do I format text in a text box, (or god forbid) a grid, so that if it is a number it will align right, and if it is Currency it will have a $ sign. Do I have to define a Data Template? Every Template example online seems to deal with drawing borders around ListBox items, or showing photos instead of Strings,. I found 20 links, and not one talked about Alignment of #s or Currency.I'm new to WPF, and can only say that ease of use has gone to hell with WPF. Some things that were straight forward in Winforms are (IMHO) arcane in WPF (and I come from Delphi, which makes both VS Winforms and WPF seem like Rubik's Cubes).
View 13 Replies
Sep 15, 2008
I am struggling with VB.NET's graphics paradigm.There are several times in my code when I need to determine the width of some text. Under VB6 I would use the .textwidth() method pretty much any time I wished.Under VB.NET it appears that the paint event is the only place I can gain access to an initialized graphics object and from that the measurestring() method.
View 3 Replies
Apr 5, 2009
I have alot of text boxes across alot of forms in ASP.NET programming in code behind pages in VB. I want to ensurethe user does not enter such characters as ' " ( ) or any which could mess up the sql syntax the script makes, and with some will validate what they entered is of numerical value.
Now I know you can stop the text box allowing such characters in a Windows application, but cannot find for the life of me a way of doing such in a web application - and its not really viable to perform a sub-string check at the click of a button for every box
View 2 Replies
Mar 15, 2012
I'm working on an ultrasonic sonar and I would like to use the computer to display a standard green radar system detecting the objects. I'm using a micro controller with the software written in C to send out the sensor's angle and position and it works fine.On the computer side, I'm using Visual Basic 2010 to read the COM port which then contains the sensor's data in numbers (sensor's angle and distance between sensor and object)which is a constant stream. On the debug screen (Textbox) I can already see all the data coming through.Now my question is: How do I convert those numbers into graphics?
More explanations about these numbers I want to convert:I have a step motor to rotate the ultrasonic sensor, and it works that way:The motor advances 1 step forward, then measure distance between sensor and object, then send these 2 values out.So, if you see the attached file, those numbers on the text box mean:
000032 -> 000: step number & 032: 32cm between sensor and object
001031 -> 001: step number & 031: 31cm between sensor and object
002032 -> 002: step number & 032: 32cm between sensor and object
003007 -> 003: step number & 007: 7cm between sensor and object
and so on...
So those are the numbers I wish to convert into graphics. The scan line would need to rotate clockwise at same speed of the step motor. And then I would like to display dots when an object is detected
View 3 Replies
Apr 13, 2009
I would like to build a line chart which can redraw or change during a period of time with dynamic data. So that the x, y axis will change if out of range. The graph may be somehow similar to Matlab. I am using vs2005.
View 2 Replies
Aug 22, 2010
im am making a vb 2010 tile egine and i was wondering how to get place a tile on mouse click and allign it to a 50x50 tile grid, and wonder how i can sav this to a .txt file from a array of thew tiles and question ask.
View 8 Replies
Nov 19, 2010
Im working on a project that needs to print a report of one client.Everything went smooth untill i came across my multiline input text data.When i display it in the PrintPagePreview the text go's outside my page. Even when im printing it only the halve of my text is displayed. I googled and looked everywhere but i can't get a clear fix for it.
[Code]...
View 3 Replies
Jan 22, 2011
I used to program with Visual Basic 6, so I have alot of old programs that I'm updating, plus I'm learning the new VB2008 methods. I'm writing a program that replaces the old "BitBlit" function which is no longer supported by Visual Basic 2008. It involves three picture boxes, one holds the sprite bitmap, a second holds the mask (silhouette) of the sprite bitmap, and a third has a background image.
[Code]...
View 3 Replies
Aug 14, 2009
drawing text on a window which is not the current form's window.I remember doing this in Win32 api with getwindowdc(handle) to obtain a DC for the Window, then textout() on the DC.
View 2 Replies
Jan 12, 2010
how to create a user interface in a game such as the application XFire using Visual Basic?
View 3 Replies
Oct 19, 2008
I'm working on a design project where I have to use a Graphical User Interface that contains a drag and drop form. It consists of having a window dropped on a wall. Both of them are images to scale. I would like to know what kind of code I would have to use to show the x and y coordinates of one of the points of my window when dragged so when I drop it, I'm dropping in it on the desired coordinate of the wall.
View 2 Replies
Jan 12, 2011
Ok, I want to create a class that will handle a special rectangle graphic.In my form, I want to have two of these special rectangles. So, basically, I need two instances of that class in my form, right?I manage to initialize two, alright. But, how exactly am I supposed tomanage drawing/graphics etc in a class, and the results to be displayed in my form?
View 13 Replies
Oct 29, 2008
Using graphics paths for designing...but am getting an error when trying to add a shape to : _shapelist.add(createshape())
It says : Value of type 'system.drawing.drawing2d.graphicspath' cannot be converted to '1-dimensional array of system.drawing.drawing2d.graphicspath'
View 2 Replies
May 18, 2012
I was wondering if I could elicit some tips on how to procede with an interface design approach.That is. What is a good way to go about establishing a "work area" where one can have multiple "floating forms" in this area.Can you have a form which occupies the entire windows desk top and the other forms "float" in this space? the "floating" forms would need to interact with each other where pressing buttons etc on them would affect other forms on the "workspace") Or what would be a good way to start accomplishing that? Or is there a better way to get the same effect?
View 4 Replies
Apr 21, 2010
I'm trying to make a .dll that contains a lot of basic functionality that a program can use. Currently i am trying to use interfaces to make a lot of this functionallity independend of the program using it but i hit a snag. The Basic idea is that a programmer will create his own object using the interface discribed in my .DLL file. Then implements those functions as he likes. He can then instanciate a controller (found in the same DLL) and sends his custom object implementing the interface to that Controller. The controller can then be started and will take over all the work. I do not know what type of object is send to the controller and idealy i want to program it in such a fashion that i shouldn't care as long as the object send implements that interface.In code I am trying to achieve the following: (quite simplyfied)
.Dll:
Code:
Public Interface MyInterface '<----Decleration of the interfaceFunction GetData() As Integer
Function SetData(Data As Integer)
end interface
[code]....
this propperly. I know that the second i set the interface adaptor in the Controller VS comes nagging that it can not be converted to a "MyInterface" Class. Obviously i am doing something wrong. I can change the datatype that the controller expects to the "MyController" type but that would completely ruin the whole idea of flexibillity. I am hoping someone sees what i am trying to do and can point out where i made the thinking error.
View 6 Replies
May 21, 2012
Is this where i would post a picture of my interface and get feedback on changes for easier use? If not is there someplace on this forum or any other forum to do this?
View 1 Replies
Jan 19, 2011
So I decided to make my famous tile selector project, but instead of drawing in a form's graphics, do it inside a tabpage.Well, I managed to get it working, but it seems to... flicker.Normally, setting the form's DoubleBuffered property to True would help a lot there, but apparently, the tabpage has no such property.
When I invalidate the tabpage, I draw two images and fill one rectangle.Following past advice, those two images were created before, just once, and are stored in a variable so I don't create them every time I invalidate the tabpage.
View 1 Replies
Aug 1, 2010
Ok I have this: This makes a sub called 'graphicspaint' then writes "demo version" to a picturebox1
Code:
Imports System.Drawing
Imports System.Windows.Forms
[code]......
View 8 Replies
Dec 5, 2011
i whant do my own shadow effect. i can do the shandow. but how can i plus 2 bitmap images(1 above the other)?
View 15 Replies
Oct 28, 2011
I load my picturebox with a jpeg. If I put my DrawObjects() sub into picturebox paint event.When ever a picturebox.refresh or picturebox.visible = true (vb.net seems to draw my DrawObjects() first, then load the jpeg Image over my drawing - erasing drawing) Is there a way to get the picturebox to redraw the jpg image first then draw on it, in picturebox paint event?
View 10 Replies
Feb 7, 2012
I have an App. I have a lots of datas to handle.So,I wonder if I can click a button and launch Excel and export my datas to Excel.So I can edit my datas in the Excel rather than in my App.
View 6 Replies
Feb 24, 2009
I made a program that uses the graphics object to draw on a picture box. I used the graphics.fromhwnd(picbox) to draw on the control. The problem is if I minimize the window the drawing disapears. Might there be a way I can the image from the picbox and save it to a bitmap variable ?
View 1 Replies
Jan 30, 2010
Say I have a tile map, example:
111111
122221
122221
111111
And we know that the total X and Y coordinates of the map is (6, 4), with the numbers 1 and 2 representing different tiles at specific coordinates.I have already retrieved the X and Y coordinate for each tile, now all I want to do is duplicate(clone) the entire map. After I clone it, I want the user to be able to select any tile, and read data from it.
View 11 Replies