1 Востаннє редагувалося Betterthanyou (26.01.2019 12:34:33)

Тема: Аркадні ігри для андроїд

Я зацікавився розробкою ігор за допомогою юніті... хочу спробувати створити декілька простих ігор з різним ігровим процесом. Якщо Вам цікаво ось моя друга гра...

https://play.google.com/store/apps/deta … topbullets

Поки що чомусь не працює Leaderboard i Acheivements, кнопка Share працює, але не на всіх смартфонах... буду розбиратися чому...

код кнопки Share (робить скріншот і поширює його разом з текстом)
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
using UnityEngine;

public class ScriptShare : MonoBehaviour
{
    public Button buttonShareButton;
    public GameObject gameObjectGame;
    public GameObject CanvasCounter;
    public GameObject gameObjectGameOver;

    private bool boolIsFocus = false;

    private string stringShareSubject, stringShareMessage;
    private bool boolIsProcessing = false;
    private string stringScreenshotName;

    void Start()
    {
        buttonShareButton.onClick.AddListener(OnShareButtonClick);
    }


    void OnApplicationFocus(bool focus)
    {
        boolIsFocus = focus;
    }

    public void OnShareButtonClick()
    {
        stringScreenshotName = "StopBullets.png";
        stringShareSubject = "I Challenge You To Beat My High Score In \"Stop Bullets\"";
        stringShareMessage = "I Challenge You To Beat My High Score In \"Stop Bullets\". " +
        ". Get The \"Stop Bullets\" App From The Link Below. \n ---> https://play.google.com/store/apps/details?id=com.myrniihry.stopbullets?";

        ShareScreenshot();
    }

    private void voidFunction_PrepareToSharing()
    {
        /* first time turn on the game and turn off the interface, second time vice versa */
        gameObjectGame.SetActive(!gameObjectGame.activeSelf);
        CanvasCounter.SetActive(!CanvasCounter.activeSelf);
        gameObjectGameOver.SetActive(!gameObjectGameOver.activeSelf);
    }

    private void ShareScreenshot()
    {

#if UNITY_ANDROID
        if (!boolIsProcessing)
        {
            StartCoroutine(ShareScreenshotInAnroid());
        }

#else
        Debug.Log("No sharing set up for this platform.");
#endif
    }



#if UNITY_ANDROID
    public IEnumerator ShareScreenshotInAnroid()
    {

        boolIsProcessing = true;
        // wait for graphics to render
        yield return new WaitForEndOfFrame();

        string screenShotPath = Application.persistentDataPath + "/" + stringScreenshotName;
        voidFunction_PrepareToSharing();
        yield return new WaitForEndOfFrame();
        ScreenCapture.CaptureScreenshot(stringScreenshotName, 1);
        voidFunction_PrepareToSharing();
        yield return new WaitForSeconds(0.5f);

        if (!Application.isEditor)
        {
            //Create intent for action send
            AndroidJavaClass intentClass = new AndroidJavaClass("android.content.Intent");
            AndroidJavaObject intentObject = new AndroidJavaObject("android.content.Intent");
            intentObject.Call<AndroidJavaObject>("setAction", intentClass.GetStatic<string>("ACTION_SEND"));

            //create image URI to add it to the intent
            AndroidJavaClass uriClass = new AndroidJavaClass("android.net.Uri");
            AndroidJavaObject uriObject = uriClass.CallStatic<AndroidJavaObject>("parse", "file://" + screenShotPath);

            //put image and string extra
            intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_STREAM"), uriObject);
            intentObject.Call<AndroidJavaObject>("setType", "image/png");
            intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_SUBJECT"), stringShareSubject);
            intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_TEXT"), stringShareMessage);

            AndroidJavaClass unity = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
            AndroidJavaObject currentActivity = unity.GetStatic<AndroidJavaObject>("currentActivity");
            AndroidJavaObject chooser = intentClass.CallStatic<AndroidJavaObject>("createChooser", intentObject, "Share Your High Score");
            currentActivity.Call("startActivity", chooser);
        }

        yield return new WaitUntil(() => boolIsFocus);
        boolIsProcessing = false;
    }
#endif

}
Подякували: bvn1

2

Re: Аркадні ігри для андроїд

Коротко про мої заробітки на рекламі  :D
https://i.ibb.co/C2WBJq8/My-Earning.png

Подякували: NagarD1

3

Re: Аркадні ігри для андроїд

а скільки юзерів встановили і є активними?

Говоріть українською! Живіть українською! Відчувайте українською!

4

Re: Аркадні ігри для андроїд

Встановили ~120, активних 8

Я планую створити десь 20 аркадних ігор, можливо якась "зайде"

5

Re: Аркадні ігри для андроїд

я колись з одним кацапійцем, що живе в Англії, працював, то він казав ,щоб аби розкрутити якусь гру тре витратити 20к долярів

Говоріть українською! Живіть українською! Відчувайте українською!
Подякували: Betterthanyou1

6

Re: Аркадні ігри для андроїд

Гра дуже крута. Мені сподобалася. Факі правду написав про 20000 USD.

λ–програміст. https://web-hate.tumblr.com/
Подякували: Betterthanyou1