Создание VK приложения. Часть 1: С чего начать? Что за API?
| |
JackNazaryan | Дата: Суббота, 20 Октября 2012, 00:24 | Сообщение # 1 |
старожил
Сейчас нет на сайте
| Литература В нашей статье мы будем использовать IFrame
Создание игры для контакта. Эта тема поднимается каждым вторым! Но только каждый десятый знает как такое сделать. Что нам понадобиться: - Construct 2
- Какой то бесплатный безрекламный хостинг (я юзаю narod.ru)
- Прямость рук
- Опыт в Construct [2]
- Мозги
Итак, если у вас есть опыт в конструкте - начинайте свой проект (Внимание! Не проЭкт, проЭкты являются гадостью рунета!) Закончили Single? Переводим по немногу в приложение. Есть одна статья, которая будет вам помогать всё время разработки, и она ВОТ Что же делать? Если вы опытный web дизайнер, то вам пофиг и эта статья вам нафиг не нужна. А если вы новичок, то тут есть материал вам в помощь
Итак, вам необходимо открыть страницу вашей игры. В тело страницы поместите это: Code <script src="http://vk.com/js/api/xd_connection.js?2" type="text/javascript"></script> Итак, мы подключили API После загрузки страницы для инициализации приложения можно использовать следующий код: Code <script type="text/javascript"> VK.init(function() { // API initialization succeeded // Your code here }); </script>
Внимание! Инициализация приложения может закончится ещё до полной загрузки Вашего приложения
Обращение к ВКонтакте API Для осуществления вызовов к API необходимо использовать функцию VK.api - VK.api(methodName, {params}, callback)
Quote methodName - имя метода params - как вы поняли, все параметры
VK.api принимает 3 параметра: 1) Название метода api. 2) Объект с параметрами запроса. 3) Функция для обработки результата.
Есть много newbie, которые считают что API не нужно! Они ошибаются! Без API приложение не будет для контакта! Или будет, но single...
Что же, создали вы игру, подключили API. Что делать дальше? ЧЁ ДАЛЬШЕ? Для примера используем Ghost Shooter Теперь создаём текстовый документ, в тело помещаем Code <!DOCTYPE html> <html manifest="offline.appcache"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <title>Ghost Shooter</title> <!-- Note: running this exported project from disk may not work exactly like preview, since browsers block some features on the file:// protocol. Once you've uploaded it to a server, it should work OK. --> <!-- Allow fullscreen mode on iOS devices. (These are Apple specific meta tags.) --> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, target-densitydpi=device-dpi" /> <meta name="apple-mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-status-bar-style" content="black" /> <meta name="HandheldFriendly" content="true" />
<!-- All margins and padding must be zero for the canvas to fill the screen. --> <style type="text/css"> * { padding: 0; margin: 0; } body { background: #000; color: #fff; overflow: hidden; } canvas { position: fixed; } </style> </head> <body> <div id="fb-root"></div> <!-- The canvas must be inside a div called c2canvasdiv --> <div id="c2canvasdiv"> <!-- The canvas the project will render to. If you change its ID, don't forget to change the ID the runtime looks for in the jQuery events above (ready() and cr_sizeCanvas()). --> <canvas id="c2canvas" width="800" height="600"> <!-- This text is displayed if the visitor's browser does not support HTML5. You can change it, but it is a good idea to link to a description of a browser and provide some links to download some popular HTML5-compatible browsers. --> <h1>Your browser does not appear to support HTML5. Try upgrading your browser to the latest version. <a href="http://www.whatbrowser.org">What is a browser?</a> <br/><br/><a href="http://www.microsoft.com/windows/internet-explorer/default.aspx">Microsoft Internet Explorer</a><br/> <a href="http://www.mozilla.com/firefox/">Mozilla Firefox</a><br/> <a href="http://www.google.com/chrome/">Google Chrome</a><br/> <a href="http://www.apple.com/safari/download/">Apple Safari</a><br/> <a href="http://www.google.com/chromeframe">Google Chrome Frame for Internet Explorer</a><br/></h1> </canvas> </div> <!-- Pages load faster with scripts at the bottom --> <!-- Construct 2 exported games require jQuery. To save bandwidth, by default this is set to grab it off the Google content delivery network (CDN). Fall back to local if not available. --> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script>window.jQuery || document.write("<script src='jquery-1.7.1.min.js'>\x3C/script>")</script>
<!-- The runtime script. You can rename it, but don't forget to rename the reference here as well. This file will have been minified and obfuscated if you enabled "Minify script" during export. --> <script src="c2runtime.js"></script>
<script> // Size the canvas to fill the browser viewport. jQuery(window).resize(function() { cr_sizeCanvas(jQuery(window).width(), jQuery(window).height()); }); window.addEventListener('orientationchange', cr_sizeCanvas, false); // Start the Construct 2 project running on window load. jQuery(document).ready(function () { // Create new runtime using the c2canvas cr.createRuntime("c2canvas"); cr_sizeCanvas(jQuery(window).width(), jQuery(window).height()); }); // Pause and resume on page becoming visible/invisible function onVisibilityChanged() { if (document.hidden || document.mozHidden || document.webkitHidden || document.msHidden) cr_setSuspended(true); else cr_setSuspended(false); }; document.addEventListener("visibilitychange", onVisibilityChanged, false); document.addEventListener("mozvisibilitychange", onVisibilityChanged, false); document.addEventListener("webkitvisibilitychange", onVisibilityChanged, false); document.addEventListener("msvisibilitychange", onVisibilityChanged, false); </script> </body> </html> Сохраняем как game.html
Теперь делаем главную страницу. Там будет "Начать игру", "Рекорды" Главное - чтобы не было "Открыть в новом окне" - всё должно быть в текущем. Думаю вы понимаете почему... Использование API - самое важное
Пример кода обработки события: Code VK.addCallback("onSettingsChanged", onSettingsChanged); ... function onSettingsChanged(settings) { // Пофиг что, главное чтобы было правильно! }
Пример выполнения запроса к API: Code VK.api("getProfiles", {uids:"1,2,3,4"}, function(data) { // Действия с полученными данными });
Во второй части мы будем разбирать, как сделать таблицу рекордов и немного поработаем над API
P.S. Строго не судите, я не профи в API
---
Сейчас популярно использовать вторую копию игры с методом "Войти через ВК"Добавлено (20.10.2012, 00:24) --------------------------------------------- Пишите коменты!
Сообщение отредактировал JackNazaryan - Пятница, 19 Октября 2012, 22:58 |
|
| |
SkyOrvias | Дата: Суббота, 20 Октября 2012, 13:36 | Сообщение # 2 |
частый гость
Сейчас нет на сайте
| неплохо
ОППА ГАҤНАМ СТАЙАЛ :3 ;3 =3 x3 B3 >3 - это мои котятки :3
|
|
| |
Diode | Дата: Суббота, 20 Октября 2012, 13:40 | Сообщение # 3 |
участник
Сейчас нет на сайте
| Покажи свою игру.
\[*ш*]/ robots will rule the world! Игры должны быть красивыми. И хватит называть свои говнюшечки проектами. Мученик всия геймдева, зобаненый сетевыми гоблинами нетрадиционной ориентации.
|
|
| |
alex_proger | Дата: Суббота, 20 Октября 2012, 13:54 | Сообщение # 4 |
участник
Сейчас нет на сайте
| бред, notepad ++ спокойно сойдёт Quote Какой то бесплатный безрекламный хостинг (я юзаю narod.ru) narod.ru без рекламы? о_0 юзай guru-host.ru для вк самое то (первый месяц без рекламы а потом копейки платишь и всё ок) Quote Опыт в Construct [2] повторюсь : бред! надо знать html , css (для дизайна), php, javascript. И какого фига вы разметили урок iFrame приложения во flash разделе? И да вы должны были в первую очередь написать что надо создать площадку для приложения! такой код без площадки ничего делать не будет!
--Дополнение-- - кто такие newbie? Quote которые считают что API не нужно! хоть здесь я согласен Quote Без API приложение не будет для контакта! конечно. Quote Или будет, но single... WTF???
Сообщение отредактировал alex_proger - Суббота, 20 Октября 2012, 13:57 |
|
| |
CoreX | Дата: Вторник, 23 Октября 2012, 01:07 | Сообщение # 5 |
был не раз
Сейчас нет на сайте
| Quote (JackNazaryan) Construct 2 Я считаю так что не стоит себя загонять в рамки конструктора, таким путем не когда не станешь нормальным девелопером.
|
|
| |
JackNazaryan | Дата: Пятница, 26 Октября 2012, 17:03 | Сообщение # 6 |
старожил
Сейчас нет на сайте
| Quote (CoreX) Я считаю так что не стоит себя загонять в рамки конструктора, таким путем не когда не станешь нормальным девелопером. Согласен, хотя можно всё таки использовать какой то конструктор для тела игры и подключать API
|
|
| |
jeki | Дата: Среда, 31 Октября 2012, 15:54 | Сообщение # 7 |
участник
Сейчас нет на сайте
| А кто знает как на свой сайт вставить вк приложение?
Поставьте + плизми
|
|
| |
Talco | Дата: Среда, 31 Октября 2012, 18:09 | Сообщение # 8 |
почетный гость
Сейчас нет на сайте
| Quote (jeki) А кто знает как на свой сайт вставить вк приложение? Чьё приложение? Чужое или своё? Насчёт чужого, думаю, ответ очевиден, а своё и так должно находиться у себя на сервере.
xNova: Революция
|
|
| |
jeki | Дата: Среда, 31 Октября 2012, 19:36 | Сообщение # 9 |
участник
Сейчас нет на сайте
| Talco, я имел введу чужое тюрягу.
Поставьте + плизми
|
|
| |
|