samsuffi's Recent Forum Activity

  • Great! I hope that one time it would be a new functionality of Construct 3 :)

  • Oh, no... I just realized that we are limited to 50mb of data with the local storage... https://www.construct.net/fr/make-games/manuals/construct-3/plugin-reference/local-storage?utm_campaign=C3Editor&utm_source=browser&utm_medium=r139&utm_term=OpenManualLink&utm_content=PluginHelp

    And I have to much sounds files... Maybe, the best way for that, is to use an Iframe request ("navigate URL") each time I want to play a music and a sound (or just put a minimum of sound file in the "sound" folder)

    Or, is it possible (like the most of android apps) to store the data on an other folder to avoid the local storage? For example, I looked on my phone that the application's "Spotify" size is to 62mo BUT his datas are stored on my SD card, about 272mo!

    And, I don't want to publish a game with 300mo... I just need to exploit the data files of the phone...

  • Just an other thing, Is it possible to do the same thing with audio file? Like: playing a .wav file by URL?

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Ok, great, thank you piranha305, it works perfectly! ^^

  • Thank you for your answer Ashley, I will try it but is it prudent to run my project on the last beta R139 version of Construct 3?

  • Thank you for your answer newt, too bad... I will increase the file size so. I understand that to put at maximum 60 Mo of image in the local storage should be a bad for the users memory. If you have an other solution, please tell me...

  • To reduce the size of my project, I would like to know how to save images from URL to the project's file and then, set the sprites images to project's file images:

  • I withdraw what I said, it's finally work on c3's runtime. This is incredible, thank you very much! ^^

  • Yes, thank you for your answer Eren... but I already tried and sadly, I use the construct 3's runtime (with JSON, Tween, BBCode) and the Rex plugins only work with the construct 2's runtime, so it don't works...

  • Actually, the only solution that I found is to add a HTML file to my project, then, use the AJAX plugin to set the HTML content of the plugin Iframe to:

    <!DOCTYPE html>
    <!--
    Copyright (c) 2016 Google Inc.
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at
    http://www.apache.org/licenses/LICENSE-2.0
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
    -->
    <html>
    <head>
     <meta charset=utf-8 />
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>Email/Password Authentication Example</title>
    
     <!-- Material Design Theming -->
     <link rel="stylesheet" href="https://code.getmdl.io/1.1.3/material.orange-indigo.min.css">
     <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
     <script defer src="https://code.getmdl.io/1.1.3/material.min.js"></script>
    
     <link rel="stylesheet" href="main.css">
    
     <!-- Import and configure the Firebase SDK -->
    	
     <script src="https://www.gstatic.com/firebasejs/5.8.4/firebase.js"></script>
    <script>
     // Initialize Firebase
     // TODO: Replace with your project's customized code snippet
     var config = {
     apiKey: "<API_KEY>",
     authDomain: "<PROJECT_ID>.firebaseapp.com",
     databaseURL: "https://<DATABASE_NAME>.firebaseio.com",
     projectId: "<PROJECT_ID>",
     storageBucket: "<BUCKET>.appspot.com",
     messagingSenderId: "<SENDER_ID>",
     };
     firebase.initializeApp(config);
    </script>
     <!-- These scripts are made available when the app is served or deployed on Firebase Hosting -->
     <!-- If you do not serve/host your project using Firebase Hosting see https://firebase.google.com/docs/web/setup -->
     <script src="/__/firebase/5.7.0/firebase-app.js"></script>
     <script src="/__/firebase/5.7.0/firebase-auth.js"></script>
     <script src="/__/firebase/init.js"></script>
    
     <script type="text/javascript">
     /**
     * Handles the sign in button press.
     */
     function toggleSignIn() {
     if (firebase.auth().currentUser) {
     // [START signout]
     firebase.auth().signOut();
     // [END signout]
     } else {
     var email = document.getElementById('email').value;
     var password = document.getElementById('password').value;
     if (email.length < 4) {
     alert('Please enter an email address.');
     return;
     }
     if (password.length < 4) {
     alert('Please enter a password.');
     return;
     }
     // Sign in with email and pass.
     // [START authwithemail]
     firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) {
     // Handle Errors here.
     var errorCode = error.code;
     var errorMessage = error.message;
     // [START_EXCLUDE]
     if (errorCode === 'auth/wrong-password') {
     alert('Wrong password.');
     } else {
     alert(errorMessage);
     }
     console.log(error);
     document.getElementById('quickstart-sign-in').disabled = false;
     // [END_EXCLUDE]
     });
     // [END authwithemail]
     }
     document.getElementById('quickstart-sign-in').disabled = true;
     }
     /**
     * Handles the sign up button press.
     */
     function handleSignUp() {
     var email = document.getElementById('email').value;
     var password = document.getElementById('password').value;
     if (email.length < 4) {
     alert('Please enter an email address.');
     return;
     }
     if (password.length < 4) {
     alert('Please enter a password.');
     return;
     }
     // Sign in with email and pass.
     // [START createwithemail]
     firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {
     // Handle Errors here.
     var errorCode = error.code;
     var errorMessage = error.message;
     // [START_EXCLUDE]
     if (errorCode == 'auth/weak-password') {
     alert('The password is too weak.');
     } else {
     alert(errorMessage);
     }
     console.log(error);
     // [END_EXCLUDE]
     });
     // [END createwithemail]
     }
     /**
     * Sends an email verification to the user.
     */
     function sendEmailVerification() {
     // [START sendemailverification]
     firebase.auth().currentUser.sendEmailVerification().then(function() {
     // Email Verification sent!
     // [START_EXCLUDE]
     alert('Email Verification Sent!');
     // [END_EXCLUDE]
     });
     // [END sendemailverification]
     }
     function sendPasswordReset() {
     var email = document.getElementById('email').value;
     // [START sendpasswordemail]
     firebase.auth().sendPasswordResetEmail(email).then(function() {
     // Password Reset Email Sent!
     // [START_EXCLUDE]
     alert('Password Reset Email Sent!');
     // [END_EXCLUDE]
     }).catch(function(error) {
     // Handle Errors here.
     var errorCode = error.code;
     var errorMessage = error.message;
     // [START_EXCLUDE]
     if (errorCode == 'auth/invalid-email') {
     alert(errorMessage);
     } else if (errorCode == 'auth/user-not-found') {
     alert(errorMessage);
     }
     console.log(error);
     // [END_EXCLUDE]
     });
     // [END sendpasswordemail];
     }
     /**
     * initApp handles setting up UI event listeners and registering Firebase auth listeners:
     * - firebase.auth().onAuthStateChanged: This listener is called when the user is signed in or
     * out, and that is where we update the UI.
     */
     function initApp() {
     // Listening for auth state changes.
     // [START authstatelistener]
     firebase.auth().onAuthStateChanged(function(user) {
     // [START_EXCLUDE silent]
     document.getElementById('quickstart-verify-email').disabled = true;
     // [END_EXCLUDE]
     if (user) {
     // User is signed in.
     var displayName = user.displayName;
     var email = user.email;
     var emailVerified = user.emailVerified;
     var photoURL = user.photoURL;
     var isAnonymous = user.isAnonymous;
     var uid = user.uid;
     var providerData = user.providerData;
     // [START_EXCLUDE]
     document.getElementById('quickstart-sign-in-status').textContent = 'Signed in';
     document.getElementById('quickstart-sign-in').textContent = 'Sign out';
     document.getElementById('quickstart-account-details').textContent = JSON.stringify(user, null, ' ');
     if (!emailVerified) {
     document.getElementById('quickstart-verify-email').disabled = false;
     }
     // [END_EXCLUDE]
     } else {
     // User is signed out.
     // [START_EXCLUDE]
     document.getElementById('quickstart-sign-in-status').textContent = 'Signed out';
     document.getElementById('quickstart-sign-in').textContent = 'Sign in';
     document.getElementById('quickstart-account-details').textContent = 'null';
     // [END_EXCLUDE]
     }
     // [START_EXCLUDE silent]
     document.getElementById('quickstart-sign-in').disabled = false;
     // [END_EXCLUDE]
     });
     // [END authstatelistener]
     document.getElementById('quickstart-sign-in').addEventListener('click', toggleSignIn, false);
     document.getElementById('quickstart-sign-up').addEventListener('click', handleSignUp, false);
     document.getElementById('quickstart-verify-email').addEventListener('click', sendEmailVerification, false);
     document.getElementById('quickstart-password-reset').addEventListener('click', sendPasswordReset, false);
     }
     window.onload = function() {
     initApp();
     };
     </script>
    </head>
    <body>
    <div class="demo-layout mdl-layout mdl-js-layout mdl-layout--fixed-header">
    
     <!-- Header section containing title -->
     <header class="mdl-layout__header mdl-color-text--white mdl-color--light-blue-700">
     <div class="mdl-cell mdl-cell--12-col mdl-cell--12-col-tablet mdl-grid">
     <div class="mdl-layout__header-row mdl-cell mdl-cell--12-col mdl-cell--12-col-tablet mdl-cell--8-col-desktop">
     <a href="/"><h3>Firebase Authentication</h3></a>
     </div>
     </div>
     </header>
    
     <main class="mdl-layout__content mdl-color--grey-100">
     <div class="mdl-cell mdl-cell--12-col mdl-cell--12-col-tablet mdl-grid">
    
     <!-- Container for the demo -->
     <div class="mdl-card mdl-shadow--2dp mdl-cell mdl-cell--12-col mdl-cell--12-col-tablet mdl-cell--12-col-desktop">
     <div class="mdl-card__title mdl-color--light-blue-600 mdl-color-text--white">
     <h2 class="mdl-card__title-text">Firebase Email &amp; Password Authentication</h2>
     </div>
     <div class="mdl-card__supporting-text mdl-color-text--grey-600">
     <p>Enter an email and password below and either sign in to an existing account or sign up</p>
    
     <input class="mdl-textfield__input" style="display:inline;width:auto;" type="text" id="email" name="email" placeholder="Email"/>
     &nbsp;&nbsp;&nbsp;
     <input class="mdl-textfield__input" style="display:inline;width:auto;" type="password" id="password" name="password" placeholder="Password"/>
     <br/><br/>
     <button disabled class="mdl-button mdl-js-button mdl-button--raised" id="quickstart-sign-in" name="signin">Sign In</button>
     &nbsp;&nbsp;&nbsp;
     <button class="mdl-button mdl-js-button mdl-button--raised" id="quickstart-sign-up" name="signup">Sign Up</button>
     &nbsp;&nbsp;&nbsp;
     <button class="mdl-button mdl-js-button mdl-button--raised" disabled id="quickstart-verify-email" name="verify-email">Send Email Verification</button>
     &nbsp;&nbsp;&nbsp;
     <button class="mdl-button mdl-js-button mdl-button--raised" id="quickstart-password-reset" name="verify-email">Send Password Reset Email</button>
    
     <!-- Container where we'll display the user details -->
     <div class="quickstart-user-details-container">
     Firebase sign-in status: <span id="quickstart-sign-in-status">Unknown</span>
     <div>Firebase auth <code>currentUser</code> object value:</div>
     <pre><code id="quickstart-account-details">null</code></pre>
     </div>
     </div>
     </div>
    
     </div>
     </main>
    </div>
    </body>
    </html>
    
  • I wanted to link my game to firebase, and saw firebase's documentation, then

    I added this script in javascript to my game:

     /**
     * Handles the sign in button press.
     */
     function toggleSignIn() {
     if (firebase.auth().currentUser) {
     // [START signout]
     firebase.auth().signOut();
     // [END signout]
     } else {
     if (email.length < 4) {
     alert('Please enter an email address.');
     return;
     }
     if (password.length < 4) {
     alert('Please enter a password.');
     return;
     }
     // Sign in with email and pass.
     // [START authwithemail]
     firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) {
     // Handle Errors here.
     var errorCode = error.code;
     var errorMessage = error.message;
     // [START_EXCLUDE]
     if (errorCode === 'auth/wrong-password') {
     alert('Wrong password.');
     } else {
     alert(errorMessage);
     }
     console.log(error);
     document.getElementById('quickstart-sign-in').disabled = false;
     // [END_EXCLUDE]
     });
     // [END authwithemail]
     }
     document.getElementById('quickstart-sign-in').disabled = true;
     }
     /**
     * Handles the sign up button press.
     */
     function handleSignUp() {
     if (email.length < 4) {
     alert('Please enter an email address.');
     return;
     }
     if (password.length < 4) {
     alert('Please enter a password.');
     return;
     }
     // Sign in with email and pass.
     // [START createwithemail]
     firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {
     // Handle Errors here.
     var errorCode = error.code;
     var errorMessage = error.message;
     // [START_EXCLUDE]
     if (errorCode == 'auth/weak-password') {
     alert('The password is too weak.');
     } else {
     alert(errorMessage);
     }
     console.log(error);
     // [END_EXCLUDE]
     });
     // [END createwithemail]
     }
     /**
     * Sends an email verification to the user.
     */
     function sendEmailVerification() {
     // [START sendemailverification]
     firebase.auth().currentUser.sendEmailVerification().then(function() {
     // Email Verification sent!
     // [START_EXCLUDE]
     alert('Email Verification Sent!');
     // [END_EXCLUDE]
     });
     // [END sendemailverification]
     }
     function sendPasswordReset() {
     var email = document.getElementById('email').value;
     // [START sendpasswordemail]
     firebase.auth().sendPasswordResetEmail(email).then(function() {
     // Password Reset Email Sent!
     // [START_EXCLUDE]
     alert('Password Reset Email Sent!');
     // [END_EXCLUDE]
     }).catch(function(error) {
     // Handle Errors here.
     var errorCode = error.code;
     var errorMessage = error.message;
     // [START_EXCLUDE]
     if (errorCode == 'auth/invalid-email') {
     alert(errorMessage);
     } else if (errorCode == 'auth/user-not-found') {
     alert(errorMessage);
     }
     console.log(error);
     // [END_EXCLUDE]
     });
     // [END sendpasswordemail];
     }
     /**
     * initApp handles setting up UI event listeners and registering Firebase auth listeners:
     * - firebase.auth().onAuthStateChanged: This listener is called when the user is signed in or
     * out, and that is where we update the UI.
     */
     function initApp() {
     // Listening for auth state changes.
     // [START authstatelistener]
     firebase.auth().onAuthStateChanged(function(user) {
     // [START_EXCLUDE silent]
     document.getElementById('quickstart-verify-email').disabled = true;
     // [END_EXCLUDE]
     if (user) {
     // User is signed in.
     var displayName = user.displayName;
     var email = user.email;
     var emailVerified = user.emailVerified;
     var photoURL = user.photoURL;
     var isAnonymous = user.isAnonymous;
     var uid = user.uid;
     var providerData = user.providerData;
     // [START_EXCLUDE]
     document.getElementById('quickstart-sign-in-status').textContent = 'Signed in';
     document.getElementById('quickstart-sign-in').textContent = 'Sign out';
     document.getElementById('quickstart-account-details').textContent = JSON.stringify(user, null, ' ');
     if (!emailVerified) {
     document.getElementById('quickstart-verify-email').disabled = false;
     }
     // [END_EXCLUDE]
     } else {
     // User is signed out.
     // [START_EXCLUDE]
     document.getElementById('quickstart-sign-in-status').textContent = 'Signed out';
     document.getElementById('quickstart-sign-in').textContent = 'Sign in';
     document.getElementById('quickstart-account-details').textContent = 'null';
     // [END_EXCLUDE]
     }
     // [START_EXCLUDE silent]
     document.getElementById('quickstart-sign-in').disabled = false;
     // [END_EXCLUDE]
     });
     // [END authstatelistener]
     document.getElementById('quickstart-sign-in').addEventListener('click', toggleSignIn, false);
     document.getElementById('quickstart-sign-up').addEventListener('click', handleSignUp, false);
     document.getElementById('quickstart-verify-email').addEventListener('click', sendEmailVerification, false);
     document.getElementById('quickstart-password-reset').addEventListener('click', sendPasswordReset, false);
     }
     window.onload = function() {
     initApp();
     };
    

    But I need to add this HTML script to preview my project on my browser:

    	<html>
    <meta charset=utf-8 />
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>Email/Password Authentication Example</title>
    
     <!-- Material Design Theming -->
     <link rel="stylesheet" href="https://code.getmdl.io/1.1.3/material.orange-indigo.min.css">
     <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
     <script defer src="https://code.getmdl.io/1.1.3/material.min.js"></script>
    
     <link rel="stylesheet" href="main.css">
    
     <!-- Import and configure the Firebase SDK -->
    	
    <script src="https://www.gstatic.com/firebasejs/5.8.4/firebase.js"></script>
    <script>
     // Initialize Firebase
     // TODO: Replace with your project's customized code snippet
     var config = {
     apiKey: "<API_KEY>",
     authDomain: "<PROJECT_ID>.firebaseapp.com",
     databaseURL: "https://<DATABASE_NAME>.firebaseio.com",
     projectId: "<PROJECT_ID>",
     storageBucket: "<BUCKET>.appspot.com",
     messagingSenderId: "<SENDER_ID>",
     };
     firebase.initializeApp(config);
    </script>
     <!-- These scripts are made available when the app is served or deployed on Firebase Hosting -->
     <!-- If you do not serve/host your project using Firebase Hosting see https://firebase.google.com/docs/web/setup -->
     <script src="/__/firebase/5.7.0/firebase-app.js"></script>
     <script src="/__/firebase/5.7.0/firebase-auth.js"></script>
     <script src="/__/firebase/init.js"></script>
    
     <script type="text/javascript">
    <head>
     /**
     * Handles the sign in button press.
     */
     function toggleSignIn() {
     if (firebase.auth().currentUser) {
     // [START signout]
     firebase.auth().signOut();
     // [END signout]
     } else {
     var email = document.getElementById('email').value;
     var password = document.getElementById('password').value;
     if (email.length < 4) {
     alert('Please enter an email address.');
     return;
     }
     if (password.length < 4) {
     alert('Please enter a password.');
     return;
     }
     // Sign in with email and pass.
     // [START authwithemail]
     firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) {
     // Handle Errors here.
     var errorCode = error.code;
     var errorMessage = error.message;
     // [START_EXCLUDE]
     if (errorCode === 'auth/wrong-password') {
     alert('Wrong password.');
     } else {
     alert(errorMessage);
     }
     console.log(error);
     document.getElementById('quickstart-sign-in').disabled = false;
     // [END_EXCLUDE]
     });
     // [END authwithemail]
     }
     document.getElementById('quickstart-sign-in').disabled = true;
     }
    </head>
    		<body>
    
    		</body>
    	</html>
    

    Please, help me, I'm poor so I can't to by this wonderful plugin:

    chadorirebornxd.itch.io/construct-master-collection

    And I don't want to permanently export my project to get the index.html file and modifie the <head> section...

  • I finally solved the problem! For all the user had the same problem with google chrome: please check your google chrome's settings in "chrome://settings". Next of that, click the + Show advanced settings button, in the System section, ensure the Use hardware acceleration when available checkbox is checked (you'll need to relaunch Chrome for any changes to take effect). My checkbox was unchecked, and now, it works fine!

samsuffi's avatar

samsuffi

Member since 29 Feb, 2016

Twitter
samsuffi has 1 followers

Trophy Case

  • 8-Year Club
  • Popular Game One of your games has over 1,000 players
  • RTFM Read the fabulous manual
  • Email Verified

Progress

11/44
How to earn trophies