καλημέρα.
Ήθελα να φτάξω ένα μικρό web based παιχνίδι και θα ήθελα τη βοήθειά σας στο παρακάτω πρόβλημα. Θέλω να εμφανίσω έναν απλό 2D χάρτη που να είναι όμως interactive. Δηλαδή ο παίχτης να πατάει σε διάφορα σημεία κια να παίρνει πληροφορίες. Όχι κίνηση και τέτοια. Κάτι απλό.
Έχω τον χάρτη (τον έφτιαξα με ένα απλό 2D map πρόγραμα) και στη βάση μου (MySQL) έχω τις πόλεις και τις συντεταγμένες τους (loc_x, loc_y). Για την επικοινωνία με τη ΒΔ θα χρησιμοποιήσω Python.
Το ερώτημά μου είναι πως θα εμφανίσω το χάρτη με τις πόλεις ενσωματωμένες. Π.χ. με τη χρήση <table> και το χάρτη σαν ackground image και στα αντίστοιχα κελιά να εμφανίζω τις πόλεις (σύμφωνα με τις συντεταγμένες);
υπάρχει κάποια καλύτερη ιδέα;
Ευχαριστώ.
Εμφάνιση 1-12 από 12
-
24-04-10, 12:17 εμφάνιση χάρτη παιχνιδιού με html/css #1
-
24-04-10, 12:47 Απάντηση: εμφάνιση χάρτη παιχνιδιού με html/css #2
Μπορείς να έχεις τον χάρτη σαν background-image ενός div και να έχεις πολλά div μέσα που να είναι relatively positioned.
<div style="width:300px; height:300px;" id="map">
<div id="city1" style="position:relative; top:30px; left:30px;"></div>
<div id="city2" style="position:relative; top:60px; left:30px;"></div>
</div>
Το city1 div θα είναι πάνω απ τον χάρτη. Η θέση του θα είναι 30 pixel κάτω (απ το πάνω μερος του map) και 30 pixel πιο δεξιά (απ την αριστερή μεριά του map).
Οπότε θα πρέπει να βρεις κάποια συνδεση ανάμεσα στις συντεταγμένες που έχεις αποθηκευμένες στην βάση με τα pixel του χάρτη.
Τώρα αν θέλει ο χρήστης να μπορεί να κάνει drag τον χάρτη θα πρεπει να γράψεις λίγο javascript για να μετακινούνται ανάλογα και οι πόλεις όσο κουνιεται ο χάρτης.
-
24-04-10, 14:56 Απάντηση: εμφάνιση χάρτη παιχνιδιού με html/css #3
Σε ευχαριστώ πολύ. Μου ακούγεται μια χαρά η λύση που προτείνεις και θα την δοκιμάσω άμεσα κιόλας. Μια ερώτηση μόνο. Τι γίνεται σε περίπτωση που ο χρήστης αυξομειώσει το μέγεθος του παραθύρου; Διατηρούνται οι συντεταγμένες;
Γενικά css άρχισα να διαβάζω πριν λίγες μέρες και δεν έχω μεγάλη εμπειρία. Η εμπειρία μου βρισκεται κυρίως σε server side programming (java, python, κλπ)
YΓ. Επίσης να υποθέσω πως αν θέλω να εφαρμόσω κάποιο event τύπου (onMouseEnter()) στο div της πόλης θα μπορώ να εμφανίζω κάποιο floating παράθυρο με πληροφορίες της πόλης.Τελευταία επεξεργασία από το μέλος xpan : 24-04-10 στις 15:02.
-
24-04-10, 16:01 Απάντηση: εμφάνιση χάρτη παιχνιδιού με html/css #4
Εάν διατηρείται το μέγεθος του map div τοτε θα διατηρήσουν την θέση τους και τα divάκια μέσα. Βάλε το width και height του div να είναι καθορισμένο, πχ στο css:
Κώδικας:#map { width:400px; height: 400px; }
Κώδικας:function showInfo(cityName, cityDescription) { alert(cityName + ': '+ cityDescription); }
-
24-04-10, 16:57 Απάντηση: εμφάνιση χάρτη παιχνιδιού με html/css #5
Ευχαριστώ και πάλι. Θα το δοκιμάσω όλα αυτά και θα επανέλθω εαν χρειαστεί.
-
25-04-10, 13:23 Απάντηση: εμφάνιση χάρτη παιχνιδιού με html/css #6
Καλημέρα.
Έκανα ότι είπες άλλα μάλλον κάτι κάνω λάθος.
οι πόλεις εμφανίζονται στον χάρτη στις θέσεις που θέλω. Μόνο που όταν ο χάρτης "κατεβαίνει" γραμμή (π.χ. επειδή μπορεί να πρόσθεσα μια γραμμή κείμενο στην παράγραφο πάνω από τον χάρτη) οι πόλεις δεν προσαρμόζονται. Παραμένουν στις θέσεις που είχαν πριν προσθέσω τη γραμμή.
Δηλαδή κάθε φορά που αλλάζω το κείμενο θα πρέπει να πηγαίνω στη βάση και να τροποποιώ τα x,y locations.
<?PHP:#map1{
background-color: #000;
background-image: url(/site_media/images/map1-sm.png);
width:800px;
height:500px;
}
div .city {
position: absolute;
width: 64px;
height: 35px;
text-align: center;
}
Τι κάνω λάθος;
-
25-04-10, 13:33 Απάντηση: εμφάνιση χάρτη παιχνιδιού με html/css #7
- Εγγραφή
- 17-06-2004
- Ηλικία
- 43
- Μηνύματα
- 4.610
- Downloads
- 39
- Uploads
- 0
- Άρθρα
- 1
- Τύπος
- ADSL Tellas Full
- Ταχύτητα
- 906/312
- ISP
- Tellas
- DSLAM
- Tellas - Ν. ΠΑΛΑΤΙΑ
- Router
- Gennet OxyGEN
- SNR / Attn
- 24.5(dB) / 61.5(dB)
Μία εναλλακτική προσέγγιση που πιθανώς βρεις ενδιαφέρουσα είναι να παράγεις δυναμικά τον χάρτη σε svg μορφή.
Για να εξασφαλίσεις την συμβατότητα με παλαιότερους browsers μπορείς να τον κάνεις και rasterize σε jpg φυσικά, χάνωντας όμως τα πλεονεκτήματα του svg...
-
25-04-10, 14:14 Απάντηση: εμφάνιση χάρτη παιχνιδιού με html/css #8
Absolute χρειάζεται έχεις δίκιο. Δεν μπορώ να καταλάβω όμως γιατί δεν κατεβάινουν και οι πόλεις όσο κατεβάινει ο χάρτης. Άν θέλεις δοκίμασε να κάνεις position: absolute και τον χάρτη να δεις μήπως αλλάξει κάτι.
-
25-04-10, 15:29 Απάντηση: εμφάνιση χάρτη παιχνιδιού με html/css #9
Θα μπορεί να είναι interactive ο χάρτης με σχετικά εύκολο τρόπο; Βάζοντας τις πόλεις πάνω στο χάρτη κατά τη διάρκεια του rendering της σελίδας διατηρώ την δυνατότητα να αλληλεπιδράσω. Π.χ. επιλέγοντας μια πόλη και βλέποντας τα στατιστικά της ή επιλέγοντας 2-3 πόλεις μαζί... κλπ κλπ
Absolute χρειάζεται έχεις δίκιο. Δεν μπορώ να καταλάβω όμως γιατί δεν κατεβάινουν και οι πόλεις όσο κατεβάινει ο χάρτης. Άν θέλεις δοκίμασε να κάνεις position: absolute και τον χάρτη να δεις μήπως αλλάξει κάτι.
<?PHP:<div id="map1">
{% for city in cities %}
<div class="city" style="top: {{ city.y }}px; left: {{ city.x }}px;">
<div class="citypop">{{ city.population }}</div>
<a href="javascript:selectCity({{region.id}}, {{city.id }});"><img src="/site_media/images/city1.png" title="{{ city.name }} [{{ city.population }}]" /></a>
<p>{{ city.name }}</p>
</div>
{% endfor %}
</div>
-
25-04-10, 16:18 Απάντηση: εμφάνιση χάρτη παιχνιδιού με html/css #10
- Εγγραφή
- 17-06-2004
- Ηλικία
- 43
- Μηνύματα
- 4.610
- Downloads
- 39
- Uploads
- 0
- Άρθρα
- 1
- Τύπος
- ADSL Tellas Full
- Ταχύτητα
- 906/312
- ISP
- Tellas
- DSLAM
- Tellas - Ν. ΠΑΛΑΤΙΑ
- Router
- Gennet OxyGEN
- SNR / Attn
- 24.5(dB) / 61.5(dB)
-
25-04-10, 17:15 Απάντηση: εμφάνιση χάρτη παιχνιδιού με html/css #11
Να σου πω, κοίταξα λίγο το CSS σου και νόμιζω πως το λάθος είναι εδω:
Κώδικας:div .city { /* Δεν χρειάζεται space! */ position: absolute; width: 64px; height: 35px; text-align: center; }
Θα έπρεπε να είναι
Κώδικας:div.city { position: absolute; width: 64px; height: 35px; text-align: center; }
-
26-04-10, 17:01 Απάντηση: εμφάνιση χάρτη παιχνιδιού με html/css #12
δεν ξέρω αν αυτό έπαιξε ρόλο όμως έκανα και μια μικρή αλλαγή και έπαιξε κανονικά:
<?PHP:#map1{
background-color: #000;
background-image: url(/site_media/images/map1-sm.png);
width:800px;
height:500px;
position:relative;
}
div.city {
width: 64px;
position: absolute;
height: 35px;
text-align: center;
}
Παρόμοια Θέματα
-
HTML CSS ή JAVA SCRIPT
Από ΩΜΕΓΑ στο φόρουμ Web authoring, development & web designΜηνύματα: 10Τελευταίο Μήνυμα: 16-07-08, 13:59 -
Πρόβλημα με positioning σε HTML/CSS
Από mach στο φόρουμ Web authoring, development & web designΜηνύματα: 1Τελευταίο Μήνυμα: 14-11-07, 10:54 -
html & css masters help me
Από foncastel στο φόρουμ Web authoring, development & web designΜηνύματα: 9Τελευταίο Μήνυμα: 31-07-06, 12:34
Bookmarks