richtig, das sind so die wesentlichen Punkte.
Zuerst genau überlegen was im Spiel überhaupt passieren soll, mit Gegnern oder ähnliches. Darauf kann man seine programmierung stützen und Stück für Stück seine anforderungen an das Spiel umsetzen.
richtig, das sind so die wesentlichen Punkte.
Zuerst genau überlegen was im Spiel überhaupt passieren soll, mit Gegnern oder ähnliches. Darauf kann man seine programmierung stützen und Stück für Stück seine anforderungen an das Spiel umsetzen.
ich weiß, aber so wie das oben dargestellt war wäre es mit tweening allein ausreichend, hab jetzt nicht an einen Ordner gedacht zu durchsuchn...
aber flash kann mit AS2 auch bilder aus einem Ordner ziehen, da muss man nicht den Weg, PHP mit DOM in XML, von XML mit AS in Flash... kann man direkt mit AS die sachen einbinden.
Also wissen tuh ich keine, guck lieber nach AS tutorials,
hab im Moment zuviel Zeit, wollte da her ein paar kleine zu Spiel Programmierung schreiben, also halt hauptsächlich ActionScript... und diese hier ins forum stellen...
Also das was du da willst kannst du doch einfach mit Tweening lösen und den alpha von bild zu bild ändern, dass sollte ganz einfach zu lösen sein.
ja da guck doch mal auf http://www.php-resource.de im Skripte Archiv ... dort gibt es zum thema Kalender jede Menge, hab da schonmal nen relativ kleinen gesehen, so ca. 75px breit... zeigt oben den monat mit links und rechts buttons zum monat hoch und runterzählen und dann die einzelnen tage... naja, such einfach mal da im skriptarchiv... da wirst du fündig!
irgendwo im code müsste die ausrichtung auf links stehen, und wahrscheinlich wird der ff dies ignorieren, weil evtl. css angelegt ist ?!? und der IE lieber die ausrichtung nimmt... hm
... wenn du mal nen link schreibst könnt man sich das genauer ansehen
richtig Macromedia is schon wat feiner (wobei ja jetzt Adobe) ... hab Flash 8 Pro, sehe aber keine großen Unterschiede zum MX, außer paar Kleinigkeite was man eh nit wirklich brauch
Einen wunderschönen Guten Abend.
Hab ein bisschen zuviel Zeit, da hab ich mal rumgesucht und ma noch keine Tutorials oder ähnlichs zu MySQLi gefunden.
Möchte ich mal ein kleines Tutorial machen, wie man mit MySQLi eine einfach Verbindung zur Datenbank aufbaut.
Ich arbeite mit PHP5 und MySQL 4.1.7.
MySQLi ist erst aber einer Version von 4.1 aufwärst verfügbar.
Ich gehe von einem installierten Xampp aus, mit Host = localhost, user = root, passwort = keins und Db = php.
Vorne weg, was passieren kann, wenn MySQLi nicht aktiviert ist kommt sowas wie "Fatal Error. Class MySQLi not found in...". Dann mal in die php.ini schauen bei den extensions noch die mysqli.dll eintragen: extension=php_mysqli.dll. Dann einmal den Apache neustarten und das Problem sollte erledigt sein.
Wer Xampp benutzt sollte vorher mal in der phpinfo(); nachsehen wo die php.ini liegt, bei meiner xampp version gibts die php.ini 2mal, dann noch die php5.ini und die php4.ini, man kann da zwischen vers. 4 und 5 umschalten.
Dann habe ich eine DB angelegt die php heißt und eine Tabelle mit 4 Feldern:
CREATE TABLE `trainings` (
`id` int(11) NOT NULL auto_increment,
`titel` varchar(100) NOT NULL default '',
`trainer` varchar(100) NOT NULL default '',
`dauer` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
) ;
Eine Tabelle für Trainingstitel + Trainer + der Dauer.
Dazu gibt es dann auch ein Formular mit 3 Eingabfeldern, Titel, trainer und die Dauer. Die ID wird automatisch hoch gezählt:
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="POST">
Thema des Trainings: <input type="text" name="titel" />
Name des Trainers: <input type="text" name="trainer" />
Dauer des Trainings: <input type="text" size="2" name="dauer" />
<input type="submit" name="submit" value="Eintragen!" />
</form>
Alles anzeigen
So, nun an die PHP Sachen :).
Zuerst das Eintragen. Dazu eine PHP Datei erstellen. Name ist egal, kann man logischerweise z. B. eintragen.php nennen. In die Datei zuerst das Formular legen, führ hier direkt in einer Datei das eintragen aus:
dann sieht die ungefähr so aus:
<?php
//hier kommt unsere verbindung hin
?>
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="POST">
Thema des Trainings: <input type="text" name="titel" />
Name des Trainers: <input type="text" name="trainer" />
Dauer des Trainings: <input type="text" size="2" name="dauer" />
<input type="submit" name="submit" value="Eintragen!" />
</form>
Alles anzeigen
So, nun erstmal eine überprüfung, nach Klick auf Eintragen!, ob auch alle Variablen richtig gesetzt sind und Werte enthalten:
<?php
if (isset($_POST['submit']) && isset($_POST['titel']) && isset($_POST['trainer']) &&
isset($_POST['dauer']) && $_POST['titel'] != '' && $_POST['trainer'] != '' &&
(int)$_POST['dauer'] > 0) {
// MySQLi code gleich
}
?>
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="POST">
Thema des Trainings: <input type="text" name="titel" />
Name des Trainers: <input type="text" name="trainer" />
Dauer des Trainings: <input type="text" size="2" name="dauer" />
<input type="submit" name="submit" value="Eintragen!" />
</form>
Alles anzeigen
Bisher kann das Script noch nichts außer überprüfen des Formulars.
Nun erstellen wir die Verbindung zur DB:
if (isset($_POST['submit']) && isset($_POST['titel']) && isset($_POST['trainer']) &&
isset($_POST['dauer']) && $_POST['titel'] != '' && $_POST['trainer'] != '' &&
(int)$_POST['dauer'] > 0) {
try {
$db = new MySQLi('localhost', 'root', '', 'php');
// Neues MySQLi Objekt erstellen und verbindung aufbauen
$sql = 'INSERT INTO trainings (titel, trainer, dauer) VALUES ( ?, ?, ?)';
// SQL Statetment mit 3 Platzhaltern
$kommando = $db->prepare($sql);
$kommando->bind_param('ssi', $_POST['titel'], $_POST['trainer'], $dauer);
// parameter binden, ssi gibt die Datentypen der folgenden Wert an, String/String/Integer
$dauer = (int)$_POST['dauer'];
// dauer noch in Integer umwandeln
$kommando->execute();
// kommando (sql) ausführen, daten werden in die DB geschrieben
// Ausgabe wieviel Zeilen betroffen sind:
//echo $kommando->affected_rows . ' Zeilen betroffen.
';
$db->close();
// Db-Verbindung wird geschlossen
} catch (Exception $e) {
echo 'Fehler: ' . htmlspecialchars($e->getMessage());
}
}
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="POST">
Thema des Trainings: <input type="text" name="titel" />
Name des Trainers: <input type="text" name="trainer" />
Dauer des Trainings: <input type="text" size="2" name="dauer" />
<input type="submit" name="submit" value="Eintragen!" />
</form>
Alles anzeigen
Sooo, nun nach ausführen des Skripts mal einen Blick in PHPMyAdmin werfen und nachsehen ob Daten in der Tabelle stehen.
Normalerweise sollte das funktionieren.
So schwer war das doch garnicht :).
Es gibt noch eine zweite (einfacherer) Möglichkeit die Daten einzutragen, d.h. ohne Prepare:
Nach Verbindung erstellung:
$sql = sprintf('INSERT INTO trainings (titel, trainer, dauer) VALUES (\'%s\', \'%s\', %s)',
$db->real_escape_string($_POST['titel']),
$db->real_escape_string($_POST['trainer']),
(int)$_POST['dauer']
);
$db->query($sql);
$db->close();
Wobei ich die Prepare Variante persönlich besser finde, zwar etwas mehr schreibaufwand, aber man gewöhnt sich dran.
So nun sind die Daten in der DB, wollen wir diese auch wieder rausholen.
Ausgabe mache ich jetzt in eine ganz normale Tabelle.
Leg nun eine neue Datei an, die du z. B. ausgabe.php nennst, und da kommt nun dieser Code rein:
<table>
<tr><th>#</th><th>Thema</th><th>Trainer</th><th>Dauer</th></tr>
<?php
try {
$db = new MySQLi('localhost','root','','php');
// DB wieder auswählen
$sql = 'SELECT * FROM trainings';
// Tabelle auswählen per SELECT
$kommando = $db->prepare($db);
// die Abfrage auswählen
$kommando->execute();
// Abfrage ausführen
$kommando->bind_results($id, $titel, $trainer, $dauer);
// die Ergebnisse sozusagen binden und 4 Variablen angeben für 4 Felder
//Nun die Ausgabe mit einer While Schleife das sollte ja klar sein
while ($kommando->fetch()) {
printf('<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>',
$id, htmlspecialchars($thema), htmlspecialchars($trainer), $dauer
);
}
$db->close();
// Datenbankverbindung wieder schließen
} catch (Exception $e) {
echo 'Fehler: ' . htmlsepcialchars($e->getMessage());
}
?>
</table>
Alles anzeigen
So nun ist die Ausgabe da.
Das kann man wiederrum auch anders gestalten, in etwa so:
$sql = 'SELECT * FROM trainings';
$ergebnis = $db->query($sql);
while ($zeile = $ergebnis->fetch_object()) {
printf('<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>',
$zeile->id,
htmlspecialchars($zeile->titel),
htmlspecialchars($zeile->trainer),
$zeile->dauer
);
}
$db->close();
Alles anzeigen
Wobei man sich da streiten kann welche Variante besser oder schlechter ist, kommt beides auf das selber raus :D.
Nun ist es natürlich jedem selbst überlassen, ob man die Verbindung mit MySQLi oder mit MySQL aufbaut.
Ich persönlich finde MySQLi die bessere Variante. Dazu auch die Reference ausm PHP Handbuch. Wie man sieht, jede Menge vordefinierte Funktionen.
Dann wünsch ich mal jedem den das Interessiert viel Spaß mit dem Tutorial, hoffe nicht alles umsonst getippt zu haben ...
Greetz
Mülla
ja stimmt, swishflash, bin ich irgendwie nie mit klar gekommen ...
kommt drauf an wie du die einbauen willst, hast du ne php datei als index beispielsweise, kannste einfach per include 'filename.php'; die datei einbinden, hast du ne html datei wo das rein soll, dann als iframe, da php code in html dateien nicht funktioniert. Oder du verlinkst einfach auf die php datei, wie auf html dateien:
mfg
Als erstes muss du gucken ob PHP überhaupt auf deinem Webspace unterstützt wird, das kannst du einfach lösen indem du eine test.php anlegst und das reinschreibst:
Wenn du die aufrufst kommt dann die Konfiguration der auf dem Server installierten PHP version.
Wenn das geklappt hat, dann musst du gucken, dass alle Dateien die dein PHP Script enthalten auch die endung .php haben, wenn du die .html hast dann kann das Script nicht ausgeführt werden.
MfG
ööhm, auf die schnelle wüsste ich keins im netz zum runterladen oder so...
aber mit AS2 sollte man das normal recht zügig hinbekommen, schleife gemacht die die Dateien einliest, und mit nem onEnterframe kann man den Alpha wert immer ein bisschen abziehen (ausfaden) bis es auf null ist dann beim nächsten wieder... sollte das dann noch in ner leiste von rechts nach links laufen? dann kann man ne funktion schreiben die die bilder erzeugt, man sgat dem z. B. dass er mind. 3 Bilder in der Reihe haben muss, und wenn dann eins die Bühen verlässt, also der x Wert unter -20 liegt oda so (ka wie groß die bilder sind) dann bild quasi entfernen (removeMovieClip) und dann benötigt er ein neues Bild da 3 da sein sollen, und macht ein neues hinten dran, kann man dann schön mit Math.random(); ne Zufallszahl ausgeben lassen, und anhand dieser die Bilder zufällig eingeben...
hm, wohl doch mehr arbeit als ich denke... hmm
Entweder mit JavaScript oder mit PHP, also wenn du die Daten in eine DB eintragen lässt kannst du auch eingaben ersetzten lassen, d.h. PHP durchsucht deinen Text in deiner TextArea und ändert die Stellen die ersetzt werden sollen, ungefähr so:
Dein Textera hat den namen Eintrag.
Dazu eine kleine Funktion
<?php
function replace(eitnrag) {
$eintrag = str_replace("[b]","[b]",$eintrag);
$eintrag = str_replace("[/b]","[/b]",$eintrag);
// usw...
// oder auch für Smileys:
$eintrag = str_replace(":-)","<img src=\"smile.gif\">",$eintrag);
$eintrag = str_replace(":-(","<img src=\"cry.gif\">",$eintrag);
}
?>
Beim ersten wird dir halt der gängige BBcode für Fettschrift [ b ] und [ /b ] druch die HTML Tags und ersetzt und der Text erscheint Fett. Darunter hab ich noch geschrieben, wenn du z. B. Smileys ersetzten willst, die grafiken in den ordner wie das script und dann würde der Besucher ein machen und wenn er es absendet speichert PHP den IMG Tag in die DB und beim wiederaufruf ist da ein Bild.
Am besten schreibst du dir diese Funktion irgendwo oben in deine Datei, oder in eine seperate und includest am Anfang deines Scripts, und dann bevor du die Variable $eintrag aus deiner Textarea in die DB einträgst noch einfach ganz kurz:
und der Eintrag sollte dann alle Zeichen ersetzt haben :).
Hoffe ich konnte dir helfen.
Ganz spontan hätte ich gesagt du legst dein Script für den counter auf den Space wo die DB liegt, da der beim seitenaufruf eins hochzählt, könnteste den in nem frame einbinden, das sollte gehen... includen dürfte normal nicht gehen, da dann die verbindung zur DB verloren geht.
wenn ich dich richtig verstanden hab, dann machs mit JavaScript und window.open,
ungefähr so ne kleine Funktion in den head deiner page:
<script language="Javascript" type="text/javascript">
function popup(wert) {
// Funktion zum Erstellen der PopUps auf dem gegenstand
// Erstelle seiten Array mit den verlinkungen
var seite = new Array(4);
seite = ["","doener","pizza","cola"];
// Link zusammenbauen für window.open
var link = "seiten/"+(seite[wert])+".html";
window.open(link,"","width=400,height=500,top=150,left=200,toolbar=0,location=0,directories=0,statusbar=0,menubar=0,scrollbars=1,resizable=0");
}
</script>
Alles anzeigen
Bei dem Beispiel müssten der Döner mit javascript:popup(1), die pizza mit javascript:popup(2) und die cola mit JavasSript:popup(3) verlinkt werden, und es müsste einen Ordner Seiten geben worin dann halt doener.html, pizza.html und cola.html liegen worin die Zutaten stehen...
ahja, IE 6 macht das gerne und wie ich gestern gesehen hab der IE 7 machts überall (aber alles reden von mir brachte nichts den jenigen gegen denIE zu bringen :D).
im IE ist es Extras -> Internetoptionen-> Sicherheit -> Stufe anpassen und bei Steuerlementen auf aktivieren stellen, da müsste nachfragen aktiviert sein.
Stell dann bei diesen auf aktivieren:
- AktiveX Steuerelemente ausführen die für Scirpting sicher sind
- AktiveX Steuerelemente und Plugins asuführen
und auf deaktivieren:
- Automatische Eingabeaufforderung für AktiveX Steuerelemente
der IE 7 fängt dann an zu meckern, dass die Sicherheitseinstellungen nicht in Ordnung wären, der IE 6 machts meines wissens ohne zu meckern mit...
Was total vergessen? Habs ja selbst hinbekommen, musste nur das JavaScript ma genauer durchlesen und schwupp gesehen dass die Funktion closead das ganze teil ausblendet, und somit schließt ... wobei ich jetzt gelesen hab dass es mit dhtml einfacher sein soll, hab ich aber noch nit getestet, hatte bisher nicht nochmal das vergnügen ein solches teil zu erstellen
garnicht, glaube du meinste einen inline Frame? dazu kannste in deine tabellenzelle schreiben:
<iframe src="deineseite.html" width="100%" name="deinFrame" height="100%" scrolling="yes">Ihr Browser unterstützt leider keine InlineFrames</iframe>
der Text wird nur ausgegeben wenn der Browser des bescuhers keine InlineFrames untertsützt...
vlt konnte ich ja helfen..
mfg
Juhu, die Frage ist gut, auf die möchte ich näher eingehen, leider kann ich nicht hellsehen ...
zum coden wie wäres mit ein paar nützlichen links:
-> http://de.selfhtml.org
-> http://www.css4you.de
-> http://www.w3schools.com
-> http://www.js-welt.de
da kannste mal ein bisschen nach codes gucken :).