Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
hyperPad

hyperPad Forum

HamedH

Hamed

@Hamed
Admin
About
Posts
452
Topics
8
Shares
0
Groups
2
Followers
11
Following
1

Posts

Recent Best Controversial

  • Forum new topic window problem iPad Pro
    HamedH Hamed

    I updated the theme so it's slightly better. The 2.6 update coming soon will have this fixed completely.

    Bug Reports

  • Forum new topic window problem iPad Pro
    HamedH Hamed

    that didn't fix it. Will fix in the app update. coming soon

    Bug Reports

  • Forum new topic window problem iPad Pro
    HamedH Hamed

    let me try updating the forum and seeing if that fixes it

    Bug Reports

  • Can’t branch projects
    HamedH Hamed

    @Bryce678 Yes, we are fixing this. Should be fixed in the next update.

    Bug Reports

  • Why is the app telling me to download editor?
    HamedH Hamed

    @Lorebound-Labs Are you using the hyperPad hub app on iPad?

    If you're just getting started, check out the starter app https://www.hyperpad.com/app/starter <- lets you create one project for free

    or switch to https://www.hyperpad.com/app for unlimited projects

    Help and Support

  • How to publish game.
    HamedH Hamed

    @Imxbox973

    Can you show a screenshot or video to show what is happening?

    What isn't working specifically?

    Help and Support

  • In App Purchase Tutorial on Exported Projects
    HamedH Hamed

    In App purchase swift code for exported projects:

    first add pod 'SwiftyStoreKit' to the list of pods in Podfile in a text editor.

    Then in terminal, run pod install. If you don't have cocoapods installed on your mac, follow the instructions here: https://guides.cocoapods.org/using/getting-started.html

    Replace the contents of HPSwift.swift with the following file

    //
    //  HPSwift.swift
    //  hyperPad-Project
    //
    //  Created by Hamed Saadat on 2019-08-07.
    //
    
    import Foundation
    import SwiftyStoreKit
    
    @objc class HPSwift: NSObject {
        fileprivate var _behaviours: HPBehaviours? = nil
        @objc var behaviours: HPBehaviours? {
            get {
                return _behaviours
            }
            
            set(behaviours) {
                _behaviours = behaviours
                
                SwiftyStoreKit.completeTransactions(atomically: true) { purchases in
                    for purchase in purchases {
                        switch purchase.transaction.transactionState {
                        case .purchased, .restored:
                            if purchase.needsFinishTransaction {
                                // Deliver content from server, then:
                                SwiftyStoreKit.finishTransaction(purchase.transaction)
                            }
                            // Unlock content
                            behaviours?.broadcastValue(purchase.productId as NSString, withKey: "purchaseComplete")
                            
                        case .failed, .purchasing, .deferred:
                            behaviours?.broadcastValue(purchase.productId as NSString, withKey: "purchaseError")
                            break // do nothing
                        @unknown default:
                            break
                        }
                    }
                }
                
                behaviours?.addReceiveKey("restorePurchases", onReceive: { (receiveValue) in
                    SwiftyStoreKit.restorePurchases(atomically: true) { results in
                        if results.restoreFailedPurchases.count > 0 {
                            behaviours?.broadcastValue("Restore Failed: \(results.restoreFailedPurchases)" as NSString, withKey: "purchaseError")
                        }
                        else if results.restoredPurchases.count > 0 {
                            results.restoredPurchases.forEach { (purchase) in
                                behaviours?.broadcastValue(purchase.productId as NSString, withKey: "purchaseComplete")
                            }
                        }
                        else {
                            print("Nothing to Restore")
                        }
                    }
                })
                
                /*
                 Add Behaviour functionality here
                */
                
                behaviours?.addReceiveKey("purchase", onReceive: { (recieveValue) in
                     // handle in app purchase logic! //
                        SwiftyStoreKit.purchaseProduct("INSERT_PURCHASE_IDENTIFIER_HERE_OR_USE_recieveValue", quantity: 1, atomically: true) { result in
                            switch result {
                            case .success(let purchase):
                                behaviours?.broadcastValue(purchase.productId as NSString, withKey: "purchaseComplete")
                            case .error(let error):
                                var message = ""
                                switch error.code {
                                case .unknown: message = "Unknown error. Please contact support"
                                case .clientInvalid: message = "Not allowed to make the payment"
                                case .paymentCancelled: break
                                case .paymentInvalid: message = "The purchase identifier was invalid"
                                case .paymentNotAllowed: message = "The device is not allowed to make the payment"
                                case .storeProductNotAvailable: message = "The product is not available in the current storefront"
                                case .cloudServicePermissionDenied: message = "Access to cloud service information is not allowed"
                                case .cloudServiceNetworkConnectionFailed: message = "Could not connect to the network"
                                case .cloudServiceRevoked: message = "User has revoked permission to use this cloud service"
                                default: message = ((error as NSError).localizedDescription)
                                }
                                behaviours?.broadcastValue(message as NSString, withKey: "purchaseFailed")
                            }
                        }
                })
            }
        }
        
    }
    

    Some key points:

    behaviours?.addReceiveKey("restorePurchases", onReceive: { (receiveValue) in
                    // add your code here
                })
    

    Will get triggered when you trigger a broadcast behaviour with the restorePurchases key

    behaviours?.broadcastValue(purchase.productId as NSString, withKey: "purchaseComplete")

    Will trigger a receive message behaviour with the purchaseComplete key

    INSERT_PURCHASE_IDENTIFIER_HERE_OR_USE_recieveValue can be replaced with either the identifier of your purchase from AppStoreConnect. OR the receiveValue parameter. If you use receiveValue make sure in your broadcast behaviour, you're sending the identifier from App Store Connect.

    Help and Support

  • Apple is asking me some questions about my game
    HamedH Hamed

    @SplitMindGaming answer no to the rest

    Help and Support

  • Apple is asking me some questions about my game
    HamedH Hamed

    Answer Yes

    Pretty much just usage data, diagnostics, and crash data. Even though you don't actively use those, we do have 3rd party libraries that are included part of the build. (we're not tracking anything but firebase analytics is available to use if you want it)

    Help and Support

  • Cant Open Xcode Project
    HamedH Hamed

    @SplitMindGaming those are warnings and can be ignored. Can you screenshot filtering by red errors?

    Also are you using an M1 Machine?

    Help and Support

  • Problem testing game in viewer app
    HamedH Hamed

    @CreativeCloud can you try logging out and logging back in?

    Help and Support

  • Plugins in hyperPad! (UNOFFICIAL)
    HamedH Hamed

    @RobinsonX this is wild good job

    WIP and Showcase

  • Bad Update!
    HamedH Hamed

    @Dave007 ASAP! There are a bunch of bugs that were brought up on the discord server that we're going through as well

    Bug Reports

  • 1.26 Scale breaks physics
    HamedH Hamed

    @TutorialDoctor this is intentional. This is because hyperPad doesn't have a soft body physics engine i.e malleable shapes.

    What is actually happening when you scale an object is that it will destroy the body and re-creates it when its done scaling.

    When you destroy a body, the joints go with it :(

    Bug Reports

  • hyperPad 1.26 is here!
    HamedH Hamed

    @Dave007 we will be submitting a hotfix update as soon as possible.

    Announcements
  • Login

  • Login or register to search.
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search