From a30a9d6f6ba0c9fa4bed7881cd68094b0dd21586 Mon Sep 17 00:00:00 2001 From: Rob Herold Date: Mon, 5 Nov 2018 15:50:24 -0700 Subject: [PATCH 1/4] Initial commit --- Sprites/Sprites.xcodeproj/project.pbxproj | 341 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../UserInterfaceState.xcuserstate | Bin 0 -> 5164 bytes .../xcschemes/xcschememanagement.plist | 14 + Sprites/Sprites/AppDelegate.swift | 46 +++ .../AppIcon.appiconset/Contents.json | 98 +++++ Sprites/Sprites/Assets.xcassets/Contents.json | 6 + .../Base.lproj/LaunchScreen.storyboard | 25 ++ Sprites/Sprites/Base.lproj/Main.storyboard | 24 ++ Sprites/Sprites/CustomScene.swift | 9 + Sprites/Sprites/Info.plist | 45 +++ Sprites/Sprites/ViewController.swift | 20 + 13 files changed, 643 insertions(+) create mode 100644 Sprites/Sprites.xcodeproj/project.pbxproj create mode 100644 Sprites/Sprites.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 Sprites/Sprites.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 Sprites/Sprites.xcodeproj/project.xcworkspace/xcuserdata/rderek.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 Sprites/Sprites.xcodeproj/xcuserdata/rderek.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 Sprites/Sprites/AppDelegate.swift create mode 100644 Sprites/Sprites/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 Sprites/Sprites/Assets.xcassets/Contents.json create mode 100644 Sprites/Sprites/Base.lproj/LaunchScreen.storyboard create mode 100644 Sprites/Sprites/Base.lproj/Main.storyboard create mode 100644 Sprites/Sprites/CustomScene.swift create mode 100644 Sprites/Sprites/Info.plist create mode 100644 Sprites/Sprites/ViewController.swift diff --git a/Sprites/Sprites.xcodeproj/project.pbxproj b/Sprites/Sprites.xcodeproj/project.pbxproj new file mode 100644 index 0000000..3ed6f2c --- /dev/null +++ b/Sprites/Sprites.xcodeproj/project.pbxproj @@ -0,0 +1,341 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 50; + objects = { + +/* Begin PBXBuildFile section */ + BDB940742190F19900F40314 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDB940732190F19900F40314 /* AppDelegate.swift */; }; + BDB940762190F19900F40314 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDB940752190F19900F40314 /* ViewController.swift */; }; + BDB940792190F19900F40314 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BDB940772190F19900F40314 /* Main.storyboard */; }; + BDB9407B2190F19B00F40314 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = BDB9407A2190F19B00F40314 /* Assets.xcassets */; }; + BDB9407E2190F19B00F40314 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BDB9407C2190F19B00F40314 /* LaunchScreen.storyboard */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + BDB940702190F19900F40314 /* Sprites.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Sprites.app; sourceTree = BUILT_PRODUCTS_DIR; }; + BDB940732190F19900F40314 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + BDB940752190F19900F40314 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + BDB940782190F19900F40314 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + BDB9407A2190F19B00F40314 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + BDB9407D2190F19B00F40314 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + BDB9407F2190F19B00F40314 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + BDB9406D2190F19900F40314 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + BDB940672190F19900F40314 = { + isa = PBXGroup; + children = ( + BDB940722190F19900F40314 /* Sprites */, + BDB940712190F19900F40314 /* Products */, + ); + sourceTree = ""; + }; + BDB940712190F19900F40314 /* Products */ = { + isa = PBXGroup; + children = ( + BDB940702190F19900F40314 /* Sprites.app */, + ); + name = Products; + sourceTree = ""; + }; + BDB940722190F19900F40314 /* Sprites */ = { + isa = PBXGroup; + children = ( + BDB940732190F19900F40314 /* AppDelegate.swift */, + BDB940752190F19900F40314 /* ViewController.swift */, + BDB940772190F19900F40314 /* Main.storyboard */, + BDB9407A2190F19B00F40314 /* Assets.xcassets */, + BDB9407C2190F19B00F40314 /* LaunchScreen.storyboard */, + BDB9407F2190F19B00F40314 /* Info.plist */, + ); + path = Sprites; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + BDB9406F2190F19900F40314 /* Sprites */ = { + isa = PBXNativeTarget; + buildConfigurationList = BDB940822190F19B00F40314 /* Build configuration list for PBXNativeTarget "Sprites" */; + buildPhases = ( + BDB9406C2190F19900F40314 /* Sources */, + BDB9406D2190F19900F40314 /* Frameworks */, + BDB9406E2190F19900F40314 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Sprites; + productName = Sprites; + productReference = BDB940702190F19900F40314 /* Sprites.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + BDB940682190F19900F40314 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1010; + LastUpgradeCheck = 1010; + ORGANIZATIONNAME = "Rob Herold"; + TargetAttributes = { + BDB9406F2190F19900F40314 = { + CreatedOnToolsVersion = 10.1; + }; + }; + }; + buildConfigurationList = BDB9406B2190F19900F40314 /* Build configuration list for PBXProject "Sprites" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = BDB940672190F19900F40314; + productRefGroup = BDB940712190F19900F40314 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + BDB9406F2190F19900F40314 /* Sprites */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + BDB9406E2190F19900F40314 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + BDB9407E2190F19B00F40314 /* LaunchScreen.storyboard in Resources */, + BDB9407B2190F19B00F40314 /* Assets.xcassets in Resources */, + BDB940792190F19900F40314 /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + BDB9406C2190F19900F40314 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + BDB940762190F19900F40314 /* ViewController.swift in Sources */, + BDB940742190F19900F40314 /* AppDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + BDB940772190F19900F40314 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + BDB940782190F19900F40314 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + BDB9407C2190F19B00F40314 /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + BDB9407D2190F19B00F40314 /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + BDB940802190F19B00F40314 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + BDB940812190F19B00F40314 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + BDB940832190F19B00F40314 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = NBF6MEV9S8; + INFOPLIST_FILE = Sprites/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.rdherold.Sprites; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + BDB940842190F19B00F40314 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = NBF6MEV9S8; + INFOPLIST_FILE = Sprites/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.rdherold.Sprites; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + BDB9406B2190F19900F40314 /* Build configuration list for PBXProject "Sprites" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + BDB940802190F19B00F40314 /* Debug */, + BDB940812190F19B00F40314 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + BDB940822190F19B00F40314 /* Build configuration list for PBXNativeTarget "Sprites" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + BDB940832190F19B00F40314 /* Debug */, + BDB940842190F19B00F40314 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = BDB940682190F19900F40314 /* Project object */; +} diff --git a/Sprites/Sprites.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Sprites/Sprites.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..842b16c --- /dev/null +++ b/Sprites/Sprites.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Sprites/Sprites.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Sprites/Sprites.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/Sprites/Sprites.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Sprites/Sprites.xcodeproj/project.xcworkspace/xcuserdata/rderek.xcuserdatad/UserInterfaceState.xcuserstate b/Sprites/Sprites.xcodeproj/project.xcworkspace/xcuserdata/rderek.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..a527d4c211c125e573afc89d95cf937946b6f349 GIT binary patch literal 5164 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 + + + + SchemeUserState + + Sprites.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/Sprites/Sprites/AppDelegate.swift b/Sprites/Sprites/AppDelegate.swift new file mode 100644 index 0000000..15aea13 --- /dev/null +++ b/Sprites/Sprites/AppDelegate.swift @@ -0,0 +1,46 @@ +// +// AppDelegate.swift +// Sprites +// +// Created by Rob Herold on 11/5/18. +// Copyright © 2018 Rob Herold. All rights reserved. +// + +import UIKit + +@UIApplicationMain +class AppDelegate: UIResponder, UIApplicationDelegate { + + var window: UIWindow? + + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { + // Override point for customization after application launch. + return true + } + + func applicationWillResignActive(_ application: UIApplication) { + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. + } + + func applicationDidEnterBackground(_ application: UIApplication) { + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. + } + + func applicationWillEnterForeground(_ application: UIApplication) { + // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. + } + + func applicationDidBecomeActive(_ application: UIApplication) { + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. + } + + func applicationWillTerminate(_ application: UIApplication) { + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. + } + + +} + diff --git a/Sprites/Sprites/Assets.xcassets/AppIcon.appiconset/Contents.json b/Sprites/Sprites/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..d8db8d6 --- /dev/null +++ b/Sprites/Sprites/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,98 @@ +{ + "images" : [ + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "3x" + }, + { + "idiom" : "ipad", + "size" : "20x20", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "29x29", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "40x40", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "76x76", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "76x76", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "83.5x83.5", + "scale" : "2x" + }, + { + "idiom" : "ios-marketing", + "size" : "1024x1024", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Sprites/Sprites/Assets.xcassets/Contents.json b/Sprites/Sprites/Assets.xcassets/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/Sprites/Sprites/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Sprites/Sprites/Base.lproj/LaunchScreen.storyboard b/Sprites/Sprites/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..bfa3612 --- /dev/null +++ b/Sprites/Sprites/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Sprites/Sprites/Base.lproj/Main.storyboard b/Sprites/Sprites/Base.lproj/Main.storyboard new file mode 100644 index 0000000..f1bcf38 --- /dev/null +++ b/Sprites/Sprites/Base.lproj/Main.storyboard @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Sprites/Sprites/CustomScene.swift b/Sprites/Sprites/CustomScene.swift new file mode 100644 index 0000000..f813260 --- /dev/null +++ b/Sprites/Sprites/CustomScene.swift @@ -0,0 +1,9 @@ +// +// CustomScene.swift +// Sprites +// +// Created by Rob Herold on 11/5/18. +// Copyright © 2018 Rob Herold. All rights reserved. +// + +import Foundation diff --git a/Sprites/Sprites/Info.plist b/Sprites/Sprites/Info.plist new file mode 100644 index 0000000..16be3b6 --- /dev/null +++ b/Sprites/Sprites/Info.plist @@ -0,0 +1,45 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/Sprites/Sprites/ViewController.swift b/Sprites/Sprites/ViewController.swift new file mode 100644 index 0000000..3fdd210 --- /dev/null +++ b/Sprites/Sprites/ViewController.swift @@ -0,0 +1,20 @@ +// +// ViewController.swift +// Sprites +// +// Created by Rob Herold on 11/5/18. +// Copyright © 2018 Rob Herold. All rights reserved. +// + +import UIKit + +class ViewController: UIViewController { + + override func viewDidLoad() { + super.viewDidLoad() + // Do any additional setup after loading the view, typically from a nib. + } + + +} + From 76923f1701ff2d644a5a360a4ff28625f75dff29 Mon Sep 17 00:00:00 2001 From: Rob Herold Date: Mon, 5 Nov 2018 16:45:56 -0700 Subject: [PATCH 2/4] added sprites q and a --- Sprites QandA.rtf | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 Sprites QandA.rtf diff --git a/Sprites QandA.rtf b/Sprites QandA.rtf new file mode 100644 index 0000000..c180eaf --- /dev/null +++ b/Sprites QandA.rtf @@ -0,0 +1,27 @@ +{\rtf1\ansi\ansicpg1252\cocoartf1561\cocoasubrtf600 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +{\*\expandedcolortbl;;} +\margl1440\margr1440\vieww18780\viewh12820\viewkind0 +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 + +\f0\fs36 \cf0 1. Why do we use version control? Under what circumstances would you need version control features and why?\ +\ +We use version control to track changes made to an app or apps. Version control also lets us step forward and backward in the process to access specific versions later if we need to.\ +\ +2. What are the navigator, editor, and inspectors areas in Xcode? What are their roles and how do you use them?\ +\ +The Navigator area is the left-most area in the main Xcode window. It shows the name of the project, its associated .swift files, Main.storyboard, assets and .plists. This area lets us select the pieces of the project that we need to work on.\ +\ +The Editor area takes up the middle portion of the Xcode window and can show different things including a source editor, a project editor, the Interface Builder, property list (plist) editor, and a rich text editor, depending on what you select in a Navigator toolbar.\ +\ +The Inspectors area is on the right edge of the main window, and when it\'92s displayed, depending on what\'92s selected on the main storyboard, it allows you to change font sizes, change colors of various elements, align text, precisely resize elements, and so on.\ +\ +3. How do you center a view in Interface Builder? How do you stretch one?\ +\ +A view can be centered in Interface Builder by selecting the \'93Align\'94 button and a view can be stretched by using the \'93Add New Constraints\'94 button. Both buttons are in the lower right-hand corner of the Editor area.\ +\ +4. What is SpriteKit and why do people use it?\ +\ +SpriteKit is a rendering and animation framework that can be used to animate arbitrary textured images called sprites. It can be used for games and apps that need flexibility in how animations are handled.\ +} \ No newline at end of file From 3743008317f5ce294d127cd1a7f077b16bd4bdf8 Mon Sep 17 00:00:00 2001 From: Rob Herold Date: Tue, 6 Nov 2018 12:35:49 -0700 Subject: [PATCH 3/4] latest attempt to reupload --- .DS_Store | Bin 0 -> 8196 bytes Sprites/.DS_Store | Bin 0 -> 8196 bytes Sprites/Sprites.xcodeproj/project.pbxproj | 4 +++ .../UserInterfaceState.xcuserstate | Bin 5164 -> 23532 bytes Sprites/Sprites/.DS_Store | Bin 0 -> 6148 bytes Sprites/Sprites/Base.lproj/Main.storyboard | 24 +++++++++++++++--- Sprites/Sprites/CustomScene.swift | 23 +++++++++++------ Sprites/Sprites/Info.plist | 2 -- Sprites/Sprites/ViewController.swift | 24 +++++++----------- 9 files changed, 49 insertions(+), 28 deletions(-) create mode 100644 .DS_Store create mode 100644 Sprites/.DS_Store create mode 100644 Sprites/Sprites/.DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..846ce9d0d94bb0aea11bde54d158c86999179ff3 GIT binary patch literal 8196 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 diff --git a/Sprites/Sprites/.DS_Store b/Sprites/Sprites/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..c0a5976739af3e1c82e90ec7fbee3b8310072dfa GIT binary patch literal 6148 zcmeHKOG*P#5UkcL0&e2Ys{i|J_qwmv@H0V@DYx+6Y3%+1f;XLeB;Bhq=t8+vT9!yd1*>hlTbUgI7|9577y zd)zX2!V8`;?D~E<9)|bxmnbU*q<|EV0#ZN<{8|C;y|m?3qM{U#0#e{x0slTUx?@*3 zCdQ|OAw~e=g6S}>W0oK`PY}DpF_9UXC6$;|s}aMJ&U~x7u5e6DI;@5dt0!AcC>BrW z{VmF2U815CkOET$E_1u`{{KM#Vg8?zw37l-;9n_Vi_Lbk<||cioxPm*+D3n*d(9`^ qjq9K=L^~!%JLbmQ@l6zEUGp{1yTUOs=*$P5sGkAXMJ5IQT7fU&<`_o+ literal 0 HcmV?d00001 diff --git a/Sprites/Sprites/Base.lproj/Main.storyboard b/Sprites/Sprites/Base.lproj/Main.storyboard index f1bcf38..3c334b8 100644 --- a/Sprites/Sprites/Base.lproj/Main.storyboard +++ b/Sprites/Sprites/Base.lproj/Main.storyboard @@ -1,7 +1,11 @@ - + + + + - + + @@ -9,13 +13,27 @@ - + + + + + + + + + + + + + + + diff --git a/Sprites/Sprites/CustomScene.swift b/Sprites/Sprites/CustomScene.swift index f813260..01556a6 100644 --- a/Sprites/Sprites/CustomScene.swift +++ b/Sprites/Sprites/CustomScene.swift @@ -1,9 +1,16 @@ -// -// CustomScene.swift -// Sprites -// -// Created by Rob Herold on 11/5/18. -// Copyright © 2018 Rob Herold. All rights reserved. -// +import UIKit +import SpriteKit -import Foundation +class CustomScene: SKScene { + public override func touchesBegan(_ touches: Set, with event: UIEvent?) { + guard !touches.isEmpty, let touch = touches.first + else { return } + + let node = SKShapeNode(circleOfRadius: 8) + node.fillColor = .red + node.position = touch.location(in: self) + addChild(node) + + // Work with your touch here + } +} diff --git a/Sprites/Sprites/Info.plist b/Sprites/Sprites/Info.plist index 16be3b6..89d7858 100644 --- a/Sprites/Sprites/Info.plist +++ b/Sprites/Sprites/Info.plist @@ -31,8 +31,6 @@ UISupportedInterfaceOrientations UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight UISupportedInterfaceOrientations~ipad diff --git a/Sprites/Sprites/ViewController.swift b/Sprites/Sprites/ViewController.swift index 3fdd210..d10c238 100644 --- a/Sprites/Sprites/ViewController.swift +++ b/Sprites/Sprites/ViewController.swift @@ -1,20 +1,14 @@ -// -// ViewController.swift -// Sprites -// -// Created by Rob Herold on 11/5/18. -// Copyright © 2018 Rob Herold. All rights reserved. -// - import UIKit +import SpriteKit class ViewController: UIViewController { - - override func viewDidLoad() { - super.viewDidLoad() - // Do any additional setup after loading the view, typically from a nib. + @IBOutlet var skview: SKView! + + var skscene: CustomScene? = nil + + override func viewDidAppear(_ animated: Bool) { + super.viewDidAppear(animated) + skscene = CustomScene(size: view.bounds.size) + skview.presentScene(skscene) } - - } - From 2f4d443030e8150bb5936510a3d4436df48ce85d Mon Sep 17 00:00:00 2001 From: Rob Herold Date: Tue, 6 Nov 2018 13:35:32 -0700 Subject: [PATCH 4/4] Nov 6 reupload, files added --- .DS_Store | Bin 8196 -> 8196 bytes Sprites/.DS_Store | Bin 8196 -> 8196 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/.DS_Store b/.DS_Store index 846ce9d0d94bb0aea11bde54d158c86999179ff3..43db066fd7caf3e6b8edb944cf2d03f3d1469483 100644 GIT binary patch delta 1070 zcmb`_OGs2v7zgn0Z$8esH}lNsq=xutOtdU@95XX)G|eDNOUFl1Hjhi*9A~OKzABm) zLJtdqODfeOk~R^P3>748+7z^CBb2m}7Hy(h1QD$|Gq+8fAn9xl=ldTxeBbX(dL}*B zJCHu#xsZi)bG5k3+}r9ai)$O|%_pLh2aQ0;ABlv>jAc7aZYx%m_C7rj33usdG}B{i zsTmMr#Ly0EAzxG<)mnW~%@`2&QC%DBI2qL=VWUSoZOGl}six#I@7UTLYqEqbH&0dj zM*RAz5j{E~oQ#=2ZLWbtvY|{>x()e)@G-uasBGM%DBVMPI4BHmRjR5L)f@8pwU7vM zmb~PyQ`Fv3>p8Lacd;Q`QTqas;bAQtH8?Y;?Av2pfEeY|dUDeq>ZE=O(imN(8#GNb zG)E8UDLto`^oADcExn^9`aqxPGku}2^aE+g00V~|g(yNXDzF9BsDTTO@Sp{|(29NN zf)_pL#W4)x1cng82+kvh3%HzvS=_`e+{QgT#3Rh(85Yce?5@lcz6HvcsX0j zOiaw4o#R+rR9dmwRllRz^yGBK)B>fjcT_iYe@OF=>A~n=zt0G0;h-Kq?v%S)7wT7jX$!FokQF#tdfT ruN@^R@r=Chsj=it{=Mt})pTryU9X^N`8Ve*iWFEowNrfA!Bc(#p91Z8 delta 952 zcmci9Jxo(k6bJD0uYBD5p2B^U+7D2~Dyg9$A7Tke(kS59P)wCqeGyvl6%+1G@>CTcX%5Ls|APAn#Bx)6;n#yGgRI5-%uuZ)en+=r?Jjp&5p6&3H-=Nms4=ZuS<=Z$2-uBZ)4 z6B7v@8ySl0Bl%K`5@O;g@0-*wm_{m@FFKWW#`}j;qoaB_iP}u?H;(p%oqI#z7p$5%gdHCoqVU(2+z%3S*eU6=Y%I25#au?&AR-ViC`+X=k*c z)7A9{Keqs9tD8zng;wS)cWtiP5ePQ!Z4X=V@@S@_Qc+{lN52%iXe83-28PUGJ()0) zXZt1%(}<7gqF6(avz*W4b*t5?pNSPF@==;|E}pIRYSdcBgd^wnczt#CsvLs5>u&e|mW!;r-9Inq`2}-R$@%~Q diff --git a/Sprites/.DS_Store b/Sprites/.DS_Store index 06cfb97a92f46ed6b794a808e6ed165a6171b3c3..a850aec171d8c40d88ade54954f5988800c7656b 100644 GIT binary patch delta 57 zcmZp1XmOa}&&atkU^hP_=VTs%Uz{n$$vH{+`8f=mzX(*ZGBR(@7prC5%r5bbW%DDE K9!9W06(ayJRuc38 delta 61 zcmZp1XmOa}&&aVcU^hP_$7CLXUz-&LGguijCm#^g*t|(BlyPE%^k#O6Z!DW7L<<>F G#3cZ86ckGU