Eine Internetprotokolladresse (IP-Adresse) ist eine eindeutige Nummer, die jedem mit dem Internet verbundenen Gerät zugewiesen wird. Aus verschiedenen Gründen kann es nützlich sein, die IP-Adresse des Benutzers zu erhalten, z. B. das Blockieren eines Spammerbenutzers in einer Chat-Anwendung. In diesem Tutorial zeige ich Ihnen, wie Sie die IP-Adresse des Benutzers mithilfe von PHP und ActionScript abrufen und anzeigen können.
Werfen wir einen Blick auf das Endergebnis, auf das wir hinarbeiten:
Hinweis: Diese SWF-Datei dient nur zur Anzeige der Schnittstelle. Sie zeigt nicht die tatsächliche IP-Adresse, da sie nicht mit einem PHP-Server verbunden ist.
Das in diesem Lernprogramm erstellte PHP-Skript und die SWF-Datei können auf jeden Fall zusammen zur Anzeige der tatsächlichen IP-Adresse des Benutzers verwendet werden.
Sie erfahren, wie Sie PHP-Code schreiben und verwenden, um mithilfe von ActionScript 3 vom Server generierte Daten abzurufen und diese Daten anschließend in Ihrer Anwendung zu verwenden.
Starten Sie Flash und erstellen Sie ein neues Dokument. Stellen Sie die Bühnengröße auf 540x300px und die Bildrate auf 24fps ein.
Dies ist die Schnittstelle, die wir verwenden: einen einfachen Hintergrund, eine Schaltfläche zum Aufrufen der Funktion, mit der die Daten abgerufen werden, und einige TextFields, um die vom Webserver erhaltenen Daten anzuzeigen.
Fahren Sie mit den nächsten Schritten fort, um zu sehen, wie es gemacht wird.
Wähle das Rechteckwerkzeug (R) aus, erstelle ein 540px breites, 300px hohes Rechteck und fülle es mit diesem radialen Farbverlauf # 424A57, # 232730. Richten Sie das Rechteck auf die Bühne aus.
Über eine Schaltfläche wird die Funktion aufgerufen, mit der die PHP-Datei vom Webserver gelesen wird.
Verwenden Sie das ovale Werkzeug (O), um einen #EEEEEE-Kreis mit 64 x 64 Pixeln zu erstellen, und zentrieren Sie ihn auf der Bühne.
Um den Pfeil in der Mitte zu erstellen, verwenden wir das PolyStar-Werkzeug (klicken und halten Sie die Schaltfläche Rechteck-Werkzeug. Ein Kontextmenü wird angezeigt, in dem Sie das Werkzeug auswählen können.) Wählen Sie das Werkzeug aus, und klicken Sie auf Eigenschaften die Schaltfläche Optionen.
Legen Sie die Anzahl der Seiten auf 3 fest und klicken Sie auf OK.
Erstellen Sie ein 35x19px-Dreieck und zeichnen Sie mit dem Rechteckwerkzeug (R) ein 19x18px-Rechteck. Richten Sie sie aus, um einen Pfeil zu bilden.
Füllen Sie den Pfeil mit einer anderen Farbe, platzieren Sie ihn in der Mitte des Kreises und brechen Sie sie auseinander (Befehlstaste + B). Dadurch wird die Pfeilform im Kreis geschnitten.
Wandeln Sie die Form in eine Schaltfläche um und benennen Sie sie getButton.
Wählen Sie das Textwerkzeug (T) und erstellen Sie ein dynamisches Textfeld. Dies ist das Format, das im Beispiel verwendet wird: DIN Bold, 70pt, #EEEEEE. Verwenden Sie dasselbe Werkzeug, um ein anderes Feld zu erstellen. Diesmal handelt es sich um ein statisches Feld, in dem "Ihre IP-Adresse:" als Rückmeldung an den Benutzer angezeigt wird.
Zentrieren Sie die Textfelder wie im Bild gezeigt:
Benennen Sie das dynamische Textfeld ipField.
Sie möchten wahrscheinlich eine gut aussehende Schriftart verwenden, die nicht jeder Benutzer hat. Um sicherzustellen, dass der Benutzer sieht, was er sehen soll, müssen wir unsere Schriftart einbetten.
Wählen Sie Ihre dynamischen Textfelder aus und gehen Sie zu Eigenschaften Panel, Charakter Abschnitt und drücken Sie die Einbetten… Taste.
Ein neues Fenster wird geöffnet. Wählen Sie die Zeichen aus, die Sie einbetten möchten (in diesem Fall Ziffern), und klicken Sie auf OK.
In der Demo werden Sie feststellen, dass die TextFields und der Button eine gewisse Abschrägung aufweisen. Dies ist ein einfacher Letterpress-Effekt.
Um den Textfeldern und Schaltflächen dieses Aussehen zu verleihen, duplizieren Sie die bereits auf der Bühne vorhandenen Formen und bewegen Sie sie mit den Tastaturpfeilen um 1 Pixel nach oben. Ändern Sie die Farbe in # 1B1E25, um den Effekt abzuschließen.
PHP ist eine leistungsfähige Skriptsprache, mit der Ihre Anwendung Code auf dem Server ausführen kann. In diesem Fall erhalten Sie die Benutzer-IP-Adresse mithilfe eines Skripts in einem Webserver.
Öffnen Sie Ihren bevorzugten PHP-Editor (jeder Texteditor erledigt die Aufgabe) und schreiben Sie die folgenden Zeilen:
< ?php //Opening Tag, tell PHP server to interpret the following lines as php code $ip = $_SERVER['REMOTE_ADDR']; //Sets the ip variable, its value is a method that will get the user ip echo $ip; //The echo keyword outputs the assigned string, in this case the ip variable ? > // Tag schließen
Dieser Code weist den Server an, die Remote-Adresse (IP) des Besuchers zu erhalten, und gibt dann die erhaltene Adresse zurück, die in der Website gespeichert ist $ ip Variable.
Ein PHP-kompatibler Webserver ist erforderlich, um die Anwendung erfolgreich auszuführen. Heutzutage unterstützt fast jeder Webserver PHP und hat PHP installiert, so dass es selten vorkommt, wenn Ihr Server dies nicht tut (außer bei kostenlosen Webhosts)..
Speichern Sie die PHP-Datei als script.php und laden Sie sie auf Ihren Webserver hoch. Denken Sie daran, dass wir diese Datei später mit ActionScript aufrufen. Vergessen Sie also nicht den Pfad, in den Sie sie hochgeladen haben.
Jetzt ist es Zeit für unsere Lieblingssprache…
Erstellen Sie eine neue ActionScript 3.0-Klasse, und speichern Sie sie als Main.as in Ihrem Klassenordner.
Paket
Mit dem Schlüsselwort package können Sie Ihren Code in Gruppen organisieren, die von anderen Skripten importiert werden können. Es wird empfohlen, sie mit einem Kleinbuchstaben zu benennen und Intercaps für nachfolgende Wörter zu verwenden (beispielsweise: meine Klassen). Es ist auch üblich, sie über die Website-URL Ihres Unternehmens zu benennen, so dass http://mycompany.com Folgendes verwenden würde: com.mycompany.classesType.myClass.
In diesem Beispiel verwenden wir eine einzelne Klasse. Es ist also nicht wirklich notwendig, einen Klassenordner zu erstellen oder ein Paket festzulegen.
Dies sind die Klassen, die wir importieren müssen, damit unsere Klasse funktionieren kann einführen Die Direktive macht extern definierte Klassen und Pakete für Ihren Code verfügbar.
import flash.display.Sprite; import flash.net.URLLoader; import flash.net.URLRequest; import flash.events.Event; import flash.events.MouseEvent; import fl.transitions.Tween; import fl.transitions.easing.Strong;
Das erweitert Schlüsselwort definiert eine Klasse, die eine Unterklasse einer anderen Klasse ist. Die Unterklasse erbt alle Methoden, Eigenschaften und Funktionen, sodass wir sie in unserer Klasse verwenden können.
öffentliche Klasse Main erweitert Sprite
In diesem Beispiel ist die Hauptklasse erbt alle Methoden und Eigenschaften der Sprite-Klasse.
Wir werden zwei Variablen verwenden. Fügen Sie dies unter der Klassendeklaration hinzu:
var urlLoader: URLLoader = neuer URLLoader (); Vari Tween: Tween;
urlLoader erstellt eine Instanz der URLLoader-Klasse, die das Laden der externen PHP-Datei übernimmt zwischen deklariert ein Objekt, das die Tween-Klasse für die Animation verwendet.
Der Konstruktor ist eine Funktion, die ausgeführt wird, wenn ein Objekt aus einer Klasse erstellt wird. Dieser Code wird als erster ausgeführt, wenn Sie eine Instanz eines Objekts erstellen oder die Dokumentklasse verwendet.
öffentliche Funktion Main (): void
Die folgende Zeile fügt der Schaltfläche in der Phase einen Listener hinzu, um auf ein MOUSE_UP-MouseEvent zu reagieren.
getButton.addEventListener (MouseEvent.MOUSE_UP, getIP);
Dieser Code wird ausgeführt, wenn der Button gedrückt wird. Er lädt die zuvor geschriebene PHP-Seite auf den Server und ruft eine Funktion auf, wenn der Ladevorgang abgeschlossen ist. Es behandelt auch die Tastenanimation.
private Funktion getIP (e: MouseEvent): void urlLoader.load (neue URLRequest ("http://www.mywebsite.com/script.php")); urlLoader.addEventListener (Event.COMPLETE, showIP); tween = new Tween (getButton, "y", Strong.easeOut, getButton.y, 340, 1, true);
Die nächste Funktion wird ausgeführt, wenn die PHP-Datei vollständig geladen ist. Es zeigt die empfangenen Daten (die IP-Adresse, die wir als Echo bezeichnet haben) unter Verwendung der TextFields in Stage an.
private Funktion showIP (e: Event): void ipField.text = e.target.data; ipFieldPressed.text = e.target.data;
Gehe zurück zur FLA und in die Eigenschaftenbereich> Abschnitt "Veröffentlichen"> Feld "Klasse", hinzufügen Main als Wert. Dies wird diese Klasse als verknüpfen Dokumentenklasse.
Jetzt wissen Sie, wie Sie die IP-Adresse des Benutzers in Ihrem Flash-Film abrufen und verwenden, experimentieren und dieses Beispiel in Ihren eigenen Projekten implementieren!
Ich hoffe, Ihnen hat dieses Tutorial gefallen, vielen Dank für das Lesen!