Адрес интернет-протокола (IP-адрес) — это уникальный номер, назначаемый каждому устройству, подключенному к Интернету. По разным причинам может быть полезно получить IP-адрес пользователя, например, например, заблокировать спамера в приложении чата. В этом уроке я покажу вам, как получить и отобразить IP-адрес пользователя с помощью PHP и ActionScript.
Окончательный результат предварительного просмотра
Давайте посмотрим на конечный результат, к которому мы будем стремиться:
Примечание: этот SWF-файл просто показывает интерфейс, он не показывает фактический IP-адрес, поскольку он не подключен к серверу PHP.
Сценарий PHP и SWF, которые вы создаете в этом руководстве, безусловно, могут использоваться вместе для отображения фактического IP-адреса пользователя.
Шаг 1: Краткий обзор
Вы узнаете, как писать и использовать код php для извлечения данных, сгенерированных с сервера с использованием ActionScript 3, а затем использовать эти данные в своем приложении.
Шаг 2: Настройте файл Flash
Запустите Flash и создайте новый документ. Установите размер сцены 540x300px и частоту кадров 24 кадров в секунду.
Шаг 3: Интерфейс
Это интерфейс, который мы будем использовать: простой фон, кнопка для вызова функции, которая будет получать данные, и некоторые TextFields для отображения данных, полученных с веб-сервера.
Перейдите к следующим шагам, чтобы увидеть, как это сделано.
Шаг 4: Фон
Выберите инструмент «Прямоугольник» (R), создайте прямоугольник шириной 540 пикселей и высотой 300 пикселей и залейте его этим радиальным градиентом # 424A57, # 232730. Сосредоточьте прямоугольник, чтобы соответствовать сцене.
Шаг 5: Кнопка действия
Кнопка будет использоваться для вызова функции, которая будет читать файл PHP с веб-сервера.
Используйте Овальный инструмент (O), чтобы создать круг #EEEEEE размером 64x64px, и отцентрируйте его на сцене.
Чтобы создать стрелку в центре, мы будем использовать инструмент PolyStar (нажмите и удерживайте кнопку «Инструмент прямоугольника», и появится контекстное меню, в котором вы можете выбрать инструмент), с выбранным инструментом перейдите на панель свойств и нажмите кнопка настроек.
Установите Количество сторон на 3 и нажмите ОК.
Создайте треугольник 35x19px и с помощью Rectangle Tool (R) нарисуйте прямоугольник 19x18px. Совместите их, чтобы сформировать стрелу.
Заполните стрелку другим цветом, поместите ее в центр круга и разбейте их на части (Cmd + B), чтобы разрезать форму стрелки в круге.
Преобразуйте фигуру в кнопку и назовите ее getButton .
Шаг 6: Текстовые поля
Выберите Text Tool (T) и создайте динамическое текстовое поле, этот формат используется в примере: DIN Bold, 70pt, #EEEEEE. Используя тот же инструмент, создайте другое поле, на этот раз это статическое поле, в котором будет отображаться «Ваш IP-адрес:», используемый в качестве обратной связи с пользователем.
Центрируйте текстовые поля, как показано на рисунке:
Назовите динамическое текстовое поле ipField .
Шаг 7: Вставить шрифт
Вы, вероятно, захотите использовать красивый шрифт, который есть не у каждого пользователя, поэтому, чтобы убедиться, что пользователь видит то, что мы хотим, чтобы он увидел, нам нужно встроить наш шрифт.
Выберите динамические текстовые поля и перейдите на панель « Свойства» в разделе « Символ » и нажмите кнопку « Вставить …» .
Появится новое окно, выберите символы, которые вы хотите вставить (в данном случае цифры), и нажмите OK.
Шаг 8: маленькая деталь
В демоверсии вы заметите, что TextFields и Button имеют некоторый скос, это простой эффект высокой печати.
Чтобы придать текстовым полям и кнопкам такой вид, продублируйте фигуры, уже находящиеся на сцене, и с помощью стрелок на клавиатуре переместите его на 1 пиксель вверх. Измените цвет на # 1B1E25, чтобы завершить эффект.
Шаг 9: PHP
PHP — это мощный язык сценариев, который позволяет вашему приложению выполнять код на стороне сервера, в этом случае мы получим IP-адрес пользователя с помощью сценария на веб-сервере.
Откройте предпочитаемый редактор PHP (любой текстовый редактор выполнит эту работу) и напишите следующие строки:
1
2
3
4
5
6
|
<
$ip = $_SERVER[‘REMOTE_ADDR’];
echo $ip;
?
|
Этот код говорит серверу получить удаленный адрес (IP) посетителя, а затем возвращает полученный адрес, который хранится в переменной $ ip .
Шаг 10: Сервер
PHP-совместимый веб-сервер необходим для успешного запуска приложения; В настоящее время практически любой веб-сервер поддерживает и имеет установленный PHP, поэтому, если у вас его нет, это будет редкостью (за исключением бесплатных веб-хостов).
Сохраните файл PHP как script.php и загрузите его на свой веб-сервер, помните, что мы вызовем этот файл позже, используя ActionScript, поэтому не забывайте путь, куда вы его загрузили.
Шаг 11: ActionScript
Теперь пришло время для нашего любимого языка ..
Создайте новый класс ActionScript 3.0 и сохраните его как Main.as в папке вашего класса.
Шаг 12: Пакет
1
2
|
package
{
|
Ключевое слово package позволяет вам организовать ваш код в группы, которые могут быть импортированы другими сценариями, рекомендуется именовать их, начиная со строчной буквы, и использовать межстрочные буквы для последующих слов (например, myClasses ). Их также часто называют по URL-адресу сайта вашей компании, поэтому http://mycompany.com будет использовать: com.mycompany.classesType.myClass .
В этом примере мы используем один класс, поэтому на самом деле нет необходимости создавать папку классов или устанавливать пакет.
Шаг 13: Директива об импорте
Это классы, которые нам нужно импортировать, чтобы наш класс работал, директива import делает внешние классы и пакеты доступными для вашего кода.
1
2
3
4
5
6
7
|
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;
|
Шаг 14: объявить и расширить класс
Ключевое слово extends определяет класс, который является подклассом другого класса. Подкласс наследует все методы, свойства и функции, так что мы можем использовать их в нашем классе.
1
2
|
public class Main extends Sprite
{
|
В этом примере класс Main наследует все методы и свойства класса Sprite .
Шаг 15: Переменные
Мы будем использовать две переменные. Добавьте это ниже объявления класса:
1
2
|
var urlLoader:URLLoader = new URLLoader();
var tween:Tween;
|
urlLoader создает экземпляр класса URLLoader, который будет обрабатывать загрузку внешнего файла PHP, в то время как анимация объявляет объект, который будет использовать класс Tween для анимации.
Шаг 16: Конструктор
Конструктор — это функция, которая запускается, когда объект создается из класса, этот код выполняется первым, когда вы создаете экземпляр объекта или запускается с использованием класса документа.
1
2
|
public function Main():void
{
|
Шаг 17: Слушай событие мыши
Следующая строка добавляет слушателя к кнопке на сцене, чтобы отреагировать на событие мыши MOUSE_UP.
1
|
getButton.addEventListener(MouseEvent.MOUSE_UP, getIP);
|
Шаг 18: Получить IP
Этот код выполняется при нажатии кнопки, он загружает php-страницу, которую мы написали ранее на сервере, и вызывает функцию, когда загрузка завершена. Он также обрабатывает анимацию кнопок.
1
2
3
4
5
6
7
|
private function getIP(e:MouseEvent):void
{
urlLoader.load(new URLRequest(«http://www.mywebsite.com/script.php»));
urlLoader.addEventListener(Event.COMPLETE, showIP);
tween = new Tween(getButton, «y», Strong.easeOut, getButton.y, 340, 1, true);
}
|
Шаг 19: получение и отображение данных
Следующая функция выполняется, когда файл PHP полностью загружен. Он отображает полученные данные (IP-адрес, который мы «повторили»), используя TextFields на этапе.
1
2
3
4
5
|
private function showIP(e:Event):void
{
ipField.text = e.target.data;
ipFieldPressed.text = e.target.data;
}
|
Шаг 20: Класс документа
Вернитесь к FLA и в Панели свойств> Раздел публикации> Поле класса добавьте Main как значение. Это свяжет этот класс с классом документа .
Вывод
Теперь вы знаете, как получить и использовать IP-адрес пользователя в своем Flash-фильме, экспериментировать и применять этот пример в своих собственных проектах!
Надеюсь, вам понравился этот урок, спасибо за чтение!