сейчас возможно будет немного нуботы, но заодно сам узнаю.
По идее пользователь будет устанавивать приложение через Google Play. Я не знаю, есть ли такая возможность, но по задумке было бы неплохо отлавливать пользователя на этом моменте. При первом скачивании, все как обычно, а когда он удалил приложение и лезет его ставить Google Play проверяет, а было ли это приложение уже установлено ранее, и если да, то он либо разрешает, либо запрещает, либо деает еще что-то
Сообщение отредактировал Fill_Freeman - Вторник, 15 Марта 2016, 17:26
У меня есть проект, в котором я использую Google Play Services Extension.
До какого-то периода все работало прекрасно - логин, публикация очков, ачивки. Однако, с некоторых пор (точный период времени не ясен) именно публикация очков отвалилась. Лог пишет SendHighScore() для текущего запроса и предыдущего. А в таблице рекордов ничего не появляется. Естественно уже прошло сильно больше 24 часов, с момента первой публикации.
Возможно проблема именно с гуглом, потому что результаты, которые уже были тоже исчезли (когда я выбираю "За все время" у меня пусто).
Собственно у меня два вопроса: 1 - может кто знает чего, потому что на офф форуме меня игнорят. 2 - если у кого есть проект, в котором точно работал такой же функционал - может вы попробуете обновиться и попробовать, воспроизведется ли эта проблема у вас.
Привет всем. Решил вот зарегистрироваться в mopub, чтобы через них крутить рекламу в своем приложении. Запутался в настройках и такое чувство, что сам буду разбираться долго.
В общем я зарегистрировался, внедрил в приложение. Теперь на месте рекламы висит баннер "Welcome to MoPub! You can now set up a new campaign to serve other ads." Дальше что? Как настроить новую компанию? Думал это делается через Order - там необходимо указать Advertiser- где мне его узнать? Далее мой выбор пал на Marketplace, но там просят заполнить налоговую форму, и разбираться в этом еще дольше, а во-вторых зачем она сейчас, у меня еще нет денег для вывода. Networks подключает другие рекламные сети и это не подходит пока, я хочу попробовать рекламу самого moPub Ну а в Segments - все пусто, и Create Segment ничего не делает.
Наверняка здесь есть кто-то, кто уже пользовался moPub и он мне быстрее это расскажет, нежели я буду все это доставать из справки\гугла (второе утро попыток сделать это результатов дало мало, поэтому и обращаюсь).
Ну в GMS ты можешь подцепить любой написаный тобой на Java экстеншн и расширить возможности GMS. Это, может быть не очень удобно, но поможет тебе, как минимум с клавиатурой. Есть уже готовое решение за $0.99 на marketplace (это аналог asset store у unity). Но если есть знания явы, то будет несложно написать свое. Тоже самое и с сетью. Можешь попробовать стандартные, если не понравится, то попробовать найти или написать свое.
Но в целом я согласен, не лучшее решение для приложения на андроид, т.к. заточен совсем не под это.
Пытаюсь сейчас настроить MoPub. Тренируюсь на кошках, т.е. на демо от yoyo. Как я понимаю оно уже готово для тестов. Т.е. можно уже запускать и смотреть на рекламу.
При запуске в раннере, запускается, но в консоль выводится "I/yoyo (10894): Attempting to call extension function with no extensions loaded MoPub_Init on class MoPubExt"
Ок. Хочу сделать апк, нажимаю create - выскакивает ошибка компиляции java библиотеки из экстеншена.
Тут полный лог компиляции, если что:
Код
-compile: [javac] Compiling 57 source files to C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\bin\classes [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:13: error: package com.mopub.mobileads does not exist [javac] import com.mopub.mobileads.MoPubView; [javac] ^ [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:14: error: package com.mopub.mobileads.MoPubView does not exist [javac] import com.mopub.mobileads.MoPubView.BannerAdListener; [javac] ^ [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:35: error: package com.mopub.mobileads does not exist [javac] import com.mopub.mobileads.MoPubInterstitial; [javac] ^ [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:36: error: package com.mopub.mobileads.MoPubInterstitial does not exist [javac] import com.mopub.mobileads.MoPubInterstitial.InterstitialAdListener; [javac] ^ [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:37: error: package com.mopub.mobileads does not exist [javac] import com.mopub.mobileads.MoPubErrorCode; [javac] ^ [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:41: error: cannot find symbol [javac] public class MoPubExt implements InterstitialAdListener, BannerAdListener [javac] ^ [javac] symbol: class InterstitialAdListener [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:41: error: cannot find symbol [javac] public class MoPubExt implements InterstitialAdListener, BannerAdListener [javac] ^ [javac] symbol: class BannerAdListener [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:43: error: cannot find symbol [javac] private MoPubInterstitial interstitialAd=null; [javac] ^ [javac] symbol: class MoPubInterstitial [javac] location: class MoPubExt [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:44: error: cannot find symbol [javac] private MoPubView mpv=null; [javac] ^ [javac] symbol: class MoPubView [javac] location: class MoPubExt [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:60: error: cannot find symbol [javac] public void onInterstitialFailed(MoPubInterstitial interstitial, MoPubErrorCode errorCode) { [javac] ^ [javac] symbol: class MoPubInterstitial [javac] location: class MoPubExt [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:60: error: cannot find symbol [javac] public void onInterstitialFailed(MoPubInterstitial interstitial, MoPubErrorCode errorCode) { [javac] ^ [javac] symbol: class MoPubErrorCode [javac] location: class MoPubExt [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:66: error: cannot find symbol [javac] public void onInterstitialLoaded(MoPubInterstitial interstitial) { [javac] ^ [javac] symbol: class MoPubInterstitial [javac] location: class MoPubExt [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:71: error: cannot find symbol [javac] public void onInterstitialShown(MoPubInterstitial interstitial) {} [javac] ^ [javac] symbol: class MoPubInterstitial [javac] location: class MoPubExt [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:74: error: cannot find symbol [javac] public void onInterstitialClicked(MoPubInterstitial interstitial) {} [javac] ^ [javac] symbol: class MoPubInterstitial [javac] location: class MoPubExt [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:77: error: cannot find symbol [javac] public void onInterstitialDismissed(MoPubInterstitial interstitial) {} [javac] ^ [javac] symbol: class MoPubInterstitial [javac] location: class MoPubExt [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:81: error: cannot find symbol [javac] public void onBannerLoaded(MoPubView moPubView) { [javac] ^ [javac] symbol: class MoPubView [javac] location: class MoPubExt [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:87: error: cannot find symbol [javac] public void onBannerFailed(MoPubView moPubView, MoPubErrorCode errorCode) { [javac] ^ [javac] symbol: class MoPubView [javac] location: class MoPubExt [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:87: error: cannot find symbol [javac] public void onBannerFailed(MoPubView moPubView, MoPubErrorCode errorCode) { [javac] ^ [javac] symbol: class MoPubErrorCode [javac] location: class MoPubExt [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:93: error: cannot find symbol [javac] public void onBannerClicked(MoPubView moPubView) {} [javac] ^ [javac] symbol: class MoPubView [javac] location: class MoPubExt [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:96: error: cannot find symbol [javac] public void onBannerExpanded(MoPubView moPubView) {} [javac] ^ [javac] symbol: class MoPubView [javac] location: class MoPubExt [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:99: error: cannot find symbol [javac] public void onBannerCollapsed(MoPubView moPubView) {} [javac] ^ [javac] symbol: class MoPubView [javac] location: class MoPubExt [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:59: error: method does not override or implement a method from a supertype [javac] @Override [javac] ^ [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:65: error: method does not override or implement a method from a supertype [javac] @Override [javac] ^ [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:70: error: method does not override or implement a method from a supertype [javac] @Override [javac] ^ [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:73: error: method does not override or implement a method from a supertype [javac] @Override [javac] ^ [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:76: error: method does not override or implement a method from a supertype [javac] @Override [javac] ^ [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:80: error: method does not override or implement a method from a supertype [javac] @Override [javac] ^ [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:86: error: method does not override or implement a method from a supertype [javac] @Override [javac] ^ [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:92: error: method does not override or implement a method from a supertype [javac] @Override [javac] ^ [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:95: error: method does not override or implement a method from a supertype [javac] @Override [javac] ^ [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:98: error: method does not override or implement a method from a supertype [javac] @Override [javac] ^ [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:113: error: cannot find symbol [javac] interstitialAd = new MoPubInterstitial(RunnerActivity.CurrentActivity,Arg2); [javac] ^ [javac] symbol: class MoPubInterstitial [javac] C:\Users\Fill\AppData\Local\Temp\gm_ttt_24941\gm_ttt_5198\src\com\yoyogames\AdsAsExtensionsMoPub\MoPubExt.java:168: error: cannot find symbol [javac] mpv = new MoPubView( RunnerJNILib.ms_context); [javac] ^ [javac] symbol: class MoPubView [javac] Note: Some input files use or override a deprecated API. [javac] Note: Recompile with -Xlint:deprecation for details. [javac] Note: Some input files use unchecked or unsafe operations. [javac] Note: Recompile with -Xlint:unchecked for details. [javac] 33 errors
Пытался скачать SDK самого MoPub, докладывать в расширение. Пакет com.mopub.mobileads находит, то потом теряет дальнейшие связи. Так что думаю, это уже лишние шаги.
Еслть ли возможность выполнить определенный кусок кода в зависимости от выбранной целевой платформы.
Дело в том, что у меня есть код А для сборки под андроид, и код Б для HTML5. Я знаю, что есть такая штука, как os_type, но если открыть html5 игру в браузере на андроиде, то ось определяется андроидовская, что, соственно, правильно.
Подозревая, что такой возможности нет, у меня есть идея подвесить это все на разные конфигурации, и делать выбор в зависимости от какой нибудь константы. Теоретически надо будет только не забывать менять выбранную конфигурацию, при смене платформы сборки.
Я в свое время обнаружил, что если пользовать show_degug_message в step ивенте, то он тоже может вызывать тормоза. По крайней мере так было раньше. Сейчас я чаще использую draw_text в таких ситуациях.
YellowAfterlife, да ты прав. Помогает. Более того, строку с image_angle я теперь вообще убрал, ибо она бесполезна (спрайт вращается вместе с фикстурой)
В общем такая проблема. Есть физический объект, который должен кататься по пути вокруг центра и постоянно быть обращенным к нему.
Я не нашел способа лучше, как делать так:
Код
if keyboard_check(vk_left) and !keyboard_check(vk_right) { if (path_position + 0.01 > 1) path_position = 0 path_position+=0.005 }
if !keyboard_check(vk_left) and keyboard_check(vk_right) { if (path_position - 0.01 < 0) path_position = 1 path_position-=0.005 }
// не помню почему, но эта строчка у меня вообще в draw стоит, но для экономии места засунул ее сюда. Сомневаюсь, что проблема в этом, но пока, честно, проверить возможности нет image_angle = point_direction(x,y,room_width/2, room_height/2);
phy_position_x = x; phy_position_y = y;
phy_rotation = -image_angle;
И все прекрасно работало....на desktope. Когда я запускаю HTML5 версию, объект движется, фикстура тоже, спрайт вращается, фикстура нет...
Я до-конца так и не нашел ошибку, но сделал так и это вроде работает: 1 - убрал вызов по id везде кроме (наверное это не обязательно, но все же): 2 - тех мест, где я вызываю скрипты через self.id или other.id (без id это -1 и -2 соответсвенно) 3 - добавил if instance_exist() условие, которое проверяет существует ли этот объект.
Видимо, я просто не подчищаю где то за собой списки, из-за чего потом натыкаюсь на битые айдишники.
P.S. YellowAfterlife, на yoyogames форуме, кстати, предложили вместо script(self.id) использовать script(id)... не знаю, что это дает кроме экономии времени и букв в коде, но все же...
Сообщение отредактировал Fill_Freeman - Четверг, 06 Августа 2015, 08:23
Вот тут есть туторил (на английском, так что придется юзать гугл трансит). По этому же туториалу есть ветка в gmc форуме (ТОже на англ, возможно там сть что то полезное в обсуждениях)
Но если не читать, то вот сразу пример из того же туториала.
Сообщение отредактировал Fill_Freeman - Суббота, 01 Августа 2015, 20:09
Вкратце: есть много экземпляров obj_ball. При соударении друг с другом периодически выскакивает такая ошибка:
Код
FATAL ERROR in action number 1 of Step Eventobj_ball for object obj_ball:
Unable to find any instance for object index '<ИНДЕКС>' name '<undefined>' at gml_Script_scr_adding_ball (line 14) - physics_joint_rope_create(ball_1, ball_2, ball_1.x, ball_1.y, ball_2.x, ball_2.y, 32, true); ############################################################################################ -------------------------------------------------------------------------------------------- stack frame is gml_Script_scr_adding_ball (line 14) called from - gml_Object_obj_ball_CollisionEvent_1_1 (line 9) - scr_adding_ball(self, other);
В collusion ивенте obj_ball с таким же объектом, я вызываю скрипт - scr_adding_ball(self, other). Вот его код:
Код
var ball_1 = self.id; var ball_2 = other.id;
with (obj_molekula) { if (ds_list_find_index(atoms, ball_1) == -1) { ds_list_add(atoms, ball_1); } }
physics_joint_rope_create(ball_1, ball_2, ball_1.x, ball_1.y, ball_2.x, ball_2.y, 32, true);// - ОШИБКА НА ЭТОЙ СТРОЧКЕ
Дебагер в момент ошибки показывает, что объект c индексом из ошибки существует.
Еще, если верить документации гамака, то при использовании скелетной анимации можно плавно переключать анимацию, чтобы небыло проскоков, когда анимация стартует в середине другой анимации (отсюда).
это вроде было. На стиме припоминаю такую игрушку. Мультиплеер - там две команды. Люди с пушками и монстры\инопланетяне(не помню что именно). И вот у тех, кто за монстров играл, был вид как раз из пасти вроде.
Цитата
Вид из слепых глаз - черный экран, ориентируемся по звуку.
- был такой мод для HL2 - Blind Mock вроде называется.
А в целом идея сомнительная. Но в Японии игра про школьницу с таким видом взлетит. Даже если геймплея не будет.
Сообщение отредактировал Fill_Freeman - Четверг, 23 Июля 2015, 19:11
Насчет видов могу опять наврать, но вроде как view_object[] переменная содержит объект за которым вид следит. Поэтому при достижении финального босса, просто сбрось ее.
например, если ты используешь вид с индексом 0 - то так:
Код
view_object[0] = -1;
Про вторую проблему, тут разные способы приходят в голову, в зависимости от того, как ты сделал лазар.
Скорее всего, если у тебя лазер сделан видимым объектом, то можно обойтись чем-то вроде
Код
в Step игрока: if place_meeting(x, y, obj_laser) { hp -= laser_damage }