added sounds
This commit is contained in:
parent
25a1ff8411
commit
d4b09461b3
@ -8,13 +8,17 @@
|
|||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
505AFEF8229FE1BD004FF0F1 /* settingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 505AFEF7229FE1BD004FF0F1 /* settingsViewController.swift */; };
|
505AFEF8229FE1BD004FF0F1 /* settingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 505AFEF7229FE1BD004FF0F1 /* settingsViewController.swift */; };
|
||||||
506421C522A339B7001E8877 /* xboth.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 506421C222A339B7001E8877 /* xboth.mp3 */; };
|
|
||||||
506421C622A339B7001E8877 /* xleft.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 506421C322A339B7001E8877 /* xleft.mp3 */; };
|
|
||||||
506421C722A339B7001E8877 /* xright.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 506421C422A339B7001E8877 /* xright.mp3 */; };
|
|
||||||
506421C922A33D87001E8877 /* InstructionsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 506421C822A33D87001E8877 /* InstructionsViewController.swift */; };
|
506421C922A33D87001E8877 /* InstructionsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 506421C822A33D87001E8877 /* InstructionsViewController.swift */; };
|
||||||
506421CD22A33EA5001E8877 /* TechSpecsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 506421CC22A33EA5001E8877 /* TechSpecsViewController.swift */; };
|
506421CD22A33EA5001E8877 /* TechSpecsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 506421CC22A33EA5001E8877 /* TechSpecsViewController.swift */; };
|
||||||
50969F5A22AFD57E0000C5ED /* GameLearnViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50969F5922AFD57E0000C5ED /* GameLearnViewController.swift */; };
|
50969F5A22AFD57E0000C5ED /* GameLearnViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50969F5922AFD57E0000C5ED /* GameLearnViewController.swift */; };
|
||||||
50969F5E22AFEBE80000C5ED /* SecondGameLearnViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50969F5D22AFEBE80000C5ED /* SecondGameLearnViewController.swift */; };
|
50969F5E22AFEBE80000C5ED /* SecondGameLearnViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50969F5D22AFEBE80000C5ED /* SecondGameLearnViewController.swift */; };
|
||||||
|
50969F6622B08A350000C5ED /* guibe_left.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 50969F5F22B08A340000C5ED /* guibe_left.mp3 */; };
|
||||||
|
50969F6722B08A350000C5ED /* guibe_arrived.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 50969F6022B08A340000C5ED /* guibe_arrived.mp3 */; };
|
||||||
|
50969F6822B08A350000C5ED /* guibe_long_right.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 50969F6122B08A350000C5ED /* guibe_long_right.mp3 */; };
|
||||||
|
50969F6922B08A350000C5ED /* guibe_wrongdirection.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 50969F6222B08A350000C5ED /* guibe_wrongdirection.mp3 */; };
|
||||||
|
50969F6A22B08A350000C5ED /* guibe_begin.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 50969F6322B08A350000C5ED /* guibe_begin.mp3 */; };
|
||||||
|
50969F6B22B08A350000C5ED /* guibe_long_left.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 50969F6422B08A350000C5ED /* guibe_long_left.mp3 */; };
|
||||||
|
50969F6C22B08A350000C5ED /* guibe_right.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 50969F6522B08A350000C5ED /* guibe_right.mp3 */; };
|
||||||
50A7ADD5229D6A4200D58743 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50A7ADD4229D6A4200D58743 /* AppDelegate.swift */; };
|
50A7ADD5229D6A4200D58743 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50A7ADD4229D6A4200D58743 /* AppDelegate.swift */; };
|
||||||
50A7ADD7229D6A4200D58743 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50A7ADD6229D6A4200D58743 /* ViewController.swift */; };
|
50A7ADD7229D6A4200D58743 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50A7ADD6229D6A4200D58743 /* ViewController.swift */; };
|
||||||
50A7ADDA229D6A4200D58743 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 50A7ADD8229D6A4200D58743 /* Main.storyboard */; };
|
50A7ADDA229D6A4200D58743 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 50A7ADD8229D6A4200D58743 /* Main.storyboard */; };
|
||||||
@ -37,13 +41,17 @@
|
|||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
505AFEF7229FE1BD004FF0F1 /* settingsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = settingsViewController.swift; sourceTree = "<group>"; };
|
505AFEF7229FE1BD004FF0F1 /* settingsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = settingsViewController.swift; sourceTree = "<group>"; };
|
||||||
506421C222A339B7001E8877 /* xboth.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = xboth.mp3; sourceTree = "<group>"; };
|
|
||||||
506421C322A339B7001E8877 /* xleft.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = xleft.mp3; sourceTree = "<group>"; };
|
|
||||||
506421C422A339B7001E8877 /* xright.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = xright.mp3; sourceTree = "<group>"; };
|
|
||||||
506421C822A33D87001E8877 /* InstructionsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstructionsViewController.swift; sourceTree = "<group>"; };
|
506421C822A33D87001E8877 /* InstructionsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstructionsViewController.swift; sourceTree = "<group>"; };
|
||||||
506421CC22A33EA5001E8877 /* TechSpecsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TechSpecsViewController.swift; sourceTree = "<group>"; };
|
506421CC22A33EA5001E8877 /* TechSpecsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TechSpecsViewController.swift; sourceTree = "<group>"; };
|
||||||
50969F5922AFD57E0000C5ED /* GameLearnViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameLearnViewController.swift; sourceTree = "<group>"; };
|
50969F5922AFD57E0000C5ED /* GameLearnViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameLearnViewController.swift; sourceTree = "<group>"; };
|
||||||
50969F5D22AFEBE80000C5ED /* SecondGameLearnViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecondGameLearnViewController.swift; sourceTree = "<group>"; };
|
50969F5D22AFEBE80000C5ED /* SecondGameLearnViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecondGameLearnViewController.swift; sourceTree = "<group>"; };
|
||||||
|
50969F5F22B08A340000C5ED /* guibe_left.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = guibe_left.mp3; sourceTree = "<group>"; };
|
||||||
|
50969F6022B08A340000C5ED /* guibe_arrived.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = guibe_arrived.mp3; sourceTree = "<group>"; };
|
||||||
|
50969F6122B08A350000C5ED /* guibe_long_right.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = guibe_long_right.mp3; sourceTree = "<group>"; };
|
||||||
|
50969F6222B08A350000C5ED /* guibe_wrongdirection.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = guibe_wrongdirection.mp3; sourceTree = "<group>"; };
|
||||||
|
50969F6322B08A350000C5ED /* guibe_begin.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = guibe_begin.mp3; sourceTree = "<group>"; };
|
||||||
|
50969F6422B08A350000C5ED /* guibe_long_left.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = guibe_long_left.mp3; sourceTree = "<group>"; };
|
||||||
|
50969F6522B08A350000C5ED /* guibe_right.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = guibe_right.mp3; sourceTree = "<group>"; };
|
||||||
50A7ADD1229D6A4200D58743 /* Guibe.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Guibe.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
50A7ADD1229D6A4200D58743 /* Guibe.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Guibe.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
50A7ADD4229D6A4200D58743 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
50A7ADD4229D6A4200D58743 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
||||||
50A7ADD6229D6A4200D58743 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
|
50A7ADD6229D6A4200D58743 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
|
||||||
@ -99,9 +107,6 @@
|
|||||||
50A7ADD3229D6A4200D58743 /* Guibe */ = {
|
50A7ADD3229D6A4200D58743 /* Guibe */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
506421C222A339B7001E8877 /* xboth.mp3 */,
|
|
||||||
506421C322A339B7001E8877 /* xleft.mp3 */,
|
|
||||||
506421C422A339B7001E8877 /* xright.mp3 */,
|
|
||||||
50A7AE05229D7B1E00D58743 /* Guibe.entitlements */,
|
50A7AE05229D7B1E00D58743 /* Guibe.entitlements */,
|
||||||
50E3DDF022AC59EA00E04D0B /* placeholder.mp4 */,
|
50E3DDF022AC59EA00E04D0B /* placeholder.mp4 */,
|
||||||
50A9B4E0229E115B00070F61 /* Video.mov */,
|
50A9B4E0229E115B00070F61 /* Video.mov */,
|
||||||
@ -126,6 +131,13 @@
|
|||||||
50A7ADFA229D75E900D58743 /* 6_SideChoiceViewController.swift */,
|
50A7ADFA229D75E900D58743 /* 6_SideChoiceViewController.swift */,
|
||||||
50A7ADDD229D6A4200D58743 /* LaunchScreen.storyboard */,
|
50A7ADDD229D6A4200D58743 /* LaunchScreen.storyboard */,
|
||||||
50A7ADE0229D6A4200D58743 /* Info.plist */,
|
50A7ADE0229D6A4200D58743 /* Info.plist */,
|
||||||
|
50969F6022B08A340000C5ED /* guibe_arrived.mp3 */,
|
||||||
|
50969F6322B08A350000C5ED /* guibe_begin.mp3 */,
|
||||||
|
50969F5F22B08A340000C5ED /* guibe_left.mp3 */,
|
||||||
|
50969F6422B08A350000C5ED /* guibe_long_left.mp3 */,
|
||||||
|
50969F6122B08A350000C5ED /* guibe_long_right.mp3 */,
|
||||||
|
50969F6522B08A350000C5ED /* guibe_right.mp3 */,
|
||||||
|
50969F6222B08A350000C5ED /* guibe_wrongdirection.mp3 */,
|
||||||
);
|
);
|
||||||
path = Guibe;
|
path = Guibe;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -211,13 +223,17 @@
|
|||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
50A9B4E1229E115B00070F61 /* Video.mov in Resources */,
|
50A9B4E1229E115B00070F61 /* Video.mov in Resources */,
|
||||||
|
50969F6722B08A350000C5ED /* guibe_arrived.mp3 in Resources */,
|
||||||
|
50969F6C22B08A350000C5ED /* guibe_right.mp3 in Resources */,
|
||||||
|
50969F6622B08A350000C5ED /* guibe_left.mp3 in Resources */,
|
||||||
50E3DDF122AC59EA00E04D0B /* placeholder.mp4 in Resources */,
|
50E3DDF122AC59EA00E04D0B /* placeholder.mp4 in Resources */,
|
||||||
506421C522A339B7001E8877 /* xboth.mp3 in Resources */,
|
50969F6822B08A350000C5ED /* guibe_long_right.mp3 in Resources */,
|
||||||
506421C622A339B7001E8877 /* xleft.mp3 in Resources */,
|
|
||||||
50A7ADDF229D6A4200D58743 /* LaunchScreen.storyboard in Resources */,
|
50A7ADDF229D6A4200D58743 /* LaunchScreen.storyboard in Resources */,
|
||||||
|
50969F6B22B08A350000C5ED /* guibe_long_left.mp3 in Resources */,
|
||||||
50A7ADE7229D6C7100D58743 /* Assets.xcassets in Resources */,
|
50A7ADE7229D6C7100D58743 /* Assets.xcassets in Resources */,
|
||||||
50A7ADDA229D6A4200D58743 /* Main.storyboard in Resources */,
|
50A7ADDA229D6A4200D58743 /* Main.storyboard in Resources */,
|
||||||
506421C722A339B7001E8877 /* xright.mp3 in Resources */,
|
50969F6A22B08A350000C5ED /* guibe_begin.mp3 in Resources */,
|
||||||
|
50969F6922B08A350000C5ED /* guibe_wrongdirection.mp3 in Resources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -195,6 +195,7 @@
|
|||||||
<rect key="frame" x="20" y="836.33333333333337" width="374" height="1.6666666666666665"/>
|
<rect key="frame" x="20" y="836.33333333333337" width="374" height="1.6666666666666665"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||||
<color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
<color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
|
<color key="tintColor" red="1" green="0.14913141730000001" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||||
</progressView>
|
</progressView>
|
||||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Label Text" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="7wZ-GO-jAW">
|
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Label Text" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="7wZ-GO-jAW">
|
||||||
<rect key="frame" x="20" y="232" width="374" height="120"/>
|
<rect key="frame" x="20" y="232" width="374" height="120"/>
|
||||||
@ -207,7 +208,7 @@
|
|||||||
<rect key="frame" x="80" y="476" width="255" height="99"/>
|
<rect key="frame" x="80" y="476" width="255" height="99"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||||
<fontDescription key="fontDescription" type="system" pointSize="29"/>
|
<fontDescription key="fontDescription" type="system" pointSize="29"/>
|
||||||
<state key="normal" title="Text" backgroundImage="buttonMedSize">
|
<state key="normal" title="Try Me!" backgroundImage="buttonMedSize">
|
||||||
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
</state>
|
</state>
|
||||||
<connections>
|
<connections>
|
||||||
@ -788,7 +789,6 @@
|
|||||||
</state>
|
</state>
|
||||||
<connections>
|
<connections>
|
||||||
<action selector="backBtnPressed:" destination="Obs-kC-EBO" eventType="touchUpInside" id="7Ng-sC-CwS"/>
|
<action selector="backBtnPressed:" destination="Obs-kC-EBO" eventType="touchUpInside" id="7Ng-sC-CwS"/>
|
||||||
<action selector="backBtnPressed:" destination="C7R-cA-IIg" eventType="touchUpInside" id="kji-Zz-O8P"/>
|
|
||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ZS9-iD-Y8a">
|
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ZS9-iD-Y8a">
|
||||||
@ -917,8 +917,6 @@
|
|||||||
</state>
|
</state>
|
||||||
<connections>
|
<connections>
|
||||||
<action selector="backBtnPressed:" destination="EcN-9C-GZO" eventType="touchUpInside" id="OkU-jv-83F"/>
|
<action selector="backBtnPressed:" destination="EcN-9C-GZO" eventType="touchUpInside" id="OkU-jv-83F"/>
|
||||||
<action selector="backBtnPressed:" destination="C7R-cA-IIg" eventType="touchUpInside" id="VSK-tB-dis"/>
|
|
||||||
<action selector="backBtnPressed:" destination="Obs-kC-EBO" eventType="touchUpInside" id="i0x-QD-V69"/>
|
|
||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Step By Step" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gIi-bs-d6P">
|
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Step By Step" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gIi-bs-d6P">
|
||||||
@ -961,11 +959,7 @@
|
|||||||
<color key="titleColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
<color key="titleColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
</state>
|
</state>
|
||||||
<connections>
|
<connections>
|
||||||
<action selector="backBtnPressed:" destination="C7R-cA-IIg" eventType="touchUpInside" id="14n-f9-bR9"/>
|
|
||||||
<action selector="backBtnPressed:" destination="Obs-kC-EBO" eventType="touchUpInside" id="BJ6-Vj-0lb"/>
|
|
||||||
<action selector="backBtnPressed:" destination="EcN-9C-GZO" eventType="touchUpInside" id="f3p-LP-6Yj"/>
|
|
||||||
<action selector="backBtnPressed:" destination="JpF-eY-5Vc" eventType="touchUpInside" id="n3E-MR-SZh"/>
|
<action selector="backBtnPressed:" destination="JpF-eY-5Vc" eventType="touchUpInside" id="n3E-MR-SZh"/>
|
||||||
<action selector="backBtnPressed:" destination="Z1d-IC-mUl" eventType="touchUpInside" id="yv2-CG-WeX"/>
|
|
||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Setup Instructions" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="kFB-UI-rG1">
|
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Setup Instructions" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="kFB-UI-rG1">
|
||||||
@ -1027,10 +1021,7 @@ And that’s all you need to know to follow the vibe!</string>
|
|||||||
<color key="titleColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
<color key="titleColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
</state>
|
</state>
|
||||||
<connections>
|
<connections>
|
||||||
<action selector="backBtnPressed:" destination="EcN-9C-GZO" eventType="touchUpInside" id="X5P-ZB-FCQ"/>
|
|
||||||
<action selector="backBtnPressed:" destination="Obs-kC-EBO" eventType="touchUpInside" id="Z0E-Ue-8JT"/>
|
|
||||||
<action selector="backBtnPressed:" destination="Z1d-IC-mUl" eventType="touchUpInside" id="anV-qE-zRa"/>
|
<action selector="backBtnPressed:" destination="Z1d-IC-mUl" eventType="touchUpInside" id="anV-qE-zRa"/>
|
||||||
<action selector="backBtnPressed:" destination="C7R-cA-IIg" eventType="touchUpInside" id="fmb-qB-nU9"/>
|
|
||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Video Instructions" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="asB-7K-LXF">
|
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Video Instructions" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="asB-7K-LXF">
|
||||||
@ -1098,7 +1089,6 @@ And that’s all you need to know to follow the vibe!</string>
|
|||||||
<color key="titleColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
<color key="titleColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
</state>
|
</state>
|
||||||
<connections>
|
<connections>
|
||||||
<action selector="backBtnPressed:" destination="C7R-cA-IIg" eventType="touchUpInside" id="xJ3-9L-xKa"/>
|
|
||||||
<action selector="goBackPressed:" destination="fQI-eI-vgI" eventType="touchUpInside" id="KBk-sp-9QO"/>
|
<action selector="goBackPressed:" destination="fQI-eI-vgI" eventType="touchUpInside" id="KBk-sp-9QO"/>
|
||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
@ -1145,17 +1135,11 @@ And that’s all you need to know to follow the vibe!</string>
|
|||||||
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Learning Sequence" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ie9-3v-3oh">
|
|
||||||
<rect key="frame" x="72" y="44" width="270" height="36"/>
|
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
|
||||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="30"/>
|
|
||||||
<nil key="textColor"/>
|
|
||||||
<nil key="highlightedColor"/>
|
|
||||||
</label>
|
|
||||||
<progressView opaque="NO" contentMode="scaleToFill" verticalHuggingPriority="750" fixedFrame="YES" progressViewStyle="bar" translatesAutoresizingMaskIntoConstraints="NO" id="OwN-Ov-RpE">
|
<progressView opaque="NO" contentMode="scaleToFill" verticalHuggingPriority="750" fixedFrame="YES" progressViewStyle="bar" translatesAutoresizingMaskIntoConstraints="NO" id="OwN-Ov-RpE">
|
||||||
<rect key="frame" x="20" y="861" width="374" height="1.6666666666666665"/>
|
<rect key="frame" x="20" y="861" width="374" height="1.6666666666666665"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||||
<color key="backgroundColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
<color key="backgroundColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
|
<color key="tintColor" red="1" green="0.27450980390000002" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||||
</progressView>
|
</progressView>
|
||||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Label Text" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="G5y-q3-Ci3">
|
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Label Text" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="G5y-q3-Ci3">
|
||||||
<rect key="frame" x="20" y="257" width="374" height="120"/>
|
<rect key="frame" x="20" y="257" width="374" height="120"/>
|
||||||
@ -1168,7 +1152,7 @@ And that’s all you need to know to follow the vibe!</string>
|
|||||||
<rect key="frame" x="80" y="501" width="255" height="99"/>
|
<rect key="frame" x="80" y="501" width="255" height="99"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||||
<fontDescription key="fontDescription" type="system" pointSize="29"/>
|
<fontDescription key="fontDescription" type="system" pointSize="29"/>
|
||||||
<state key="normal" title="Text" backgroundImage="buttonMedSize">
|
<state key="normal" title="Try Me !" backgroundImage="buttonMedSize">
|
||||||
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
</state>
|
</state>
|
||||||
<connections>
|
<connections>
|
||||||
@ -1185,6 +1169,24 @@ And that’s all you need to know to follow the vibe!</string>
|
|||||||
<action selector="nextBtnPressed:" destination="ppL-gd-4JI" eventType="touchUpInside" id="pmv-BV-Cbx"/>
|
<action selector="nextBtnPressed:" destination="ppL-gd-4JI" eventType="touchUpInside" id="pmv-BV-Cbx"/>
|
||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
|
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="SBp-vV-hin">
|
||||||
|
<rect key="frame" x="20" y="44" width="84" height="44"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||||
|
<fontDescription key="fontDescription" type="system" pointSize="26"/>
|
||||||
|
<state key="normal" title="< Back">
|
||||||
|
<color key="titleColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
|
</state>
|
||||||
|
<connections>
|
||||||
|
<action selector="backBtnPressed:" destination="ppL-gd-4JI" eventType="touchUpInside" id="TVa-px-JLj"/>
|
||||||
|
</connections>
|
||||||
|
</button>
|
||||||
|
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Learning Sequence" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ie9-3v-3oh">
|
||||||
|
<rect key="frame" x="124" y="44" width="270" height="36"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||||
|
<fontDescription key="fontDescription" type="boldSystem" pointSize="30"/>
|
||||||
|
<nil key="textColor"/>
|
||||||
|
<nil key="highlightedColor"/>
|
||||||
|
</label>
|
||||||
</subviews>
|
</subviews>
|
||||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
<viewLayoutGuide key="safeArea" id="Wm0-30-s8F"/>
|
<viewLayoutGuide key="safeArea" id="Wm0-30-s8F"/>
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
//
|
//
|
||||||
// GameLearnViewController.swift
|
// GameLearnViewController.swift
|
||||||
// Guibe
|
// Guibe
|
||||||
@ -10,7 +9,7 @@
|
|||||||
import UIKit
|
import UIKit
|
||||||
import AVKit
|
import AVKit
|
||||||
|
|
||||||
class GameLearnViewController: UIViewController {
|
class GameLearnViewController: UIViewController, AVAudioPlayerDelegate {
|
||||||
|
|
||||||
@IBOutlet weak var mainButton: UIButton!
|
@IBOutlet weak var mainButton: UIButton!
|
||||||
@IBOutlet weak var textLabel: UILabel!
|
@IBOutlet weak var textLabel: UILabel!
|
||||||
@ -18,21 +17,26 @@ class GameLearnViewController: UIViewController {
|
|||||||
@IBOutlet weak var nextBtn: UIButton!
|
@IBOutlet weak var nextBtn: UIButton!
|
||||||
|
|
||||||
@IBAction func buttonPressed(_ sender: Any) {
|
@IBAction func buttonPressed(_ sender: Any) {
|
||||||
|
audioPlay(fName: self.fileName)
|
||||||
}
|
}
|
||||||
|
|
||||||
@IBAction func nextBtnPressed(_ sender: Any) {
|
@IBAction func nextBtnPressed(_ sender: Any) {
|
||||||
stepCounter += 1
|
stepCounter += 1
|
||||||
stepThrough(ptr: stepCounter)
|
stepThrough(ptr: stepCounter)
|
||||||
}
|
}
|
||||||
|
|
||||||
var stepCounter: Int = 0
|
var stepCounter: Int = 0
|
||||||
|
var fileName: String = ""
|
||||||
|
|
||||||
|
var player = AVAudioPlayer()
|
||||||
|
|
||||||
override func viewDidLoad() {
|
override func viewDidLoad() {
|
||||||
super.viewDidLoad()
|
super.viewDidLoad()
|
||||||
|
|
||||||
textLabel.text = "Now we will .......\n........."
|
textLabel.text = "Now we will learn the different haptic patterns for navigationg with Guibe"
|
||||||
|
textLabel.accessibilityLabel = "Now we will learn the different haptic patterns for navigationg with geibe"
|
||||||
|
mainButton.accessibilityLabel = "Play vibration"
|
||||||
|
mainButton.alpha = 0.0
|
||||||
|
|
||||||
|
|
||||||
// Do any additional setup after loading the view.
|
// Do any additional setup after loading the view.
|
||||||
@ -42,16 +46,22 @@ class GameLearnViewController: UIViewController {
|
|||||||
switch ptr {
|
switch ptr {
|
||||||
case 1:
|
case 1:
|
||||||
beginJourney()
|
beginJourney()
|
||||||
|
self.fileName = "guibe_begin"
|
||||||
case 2:
|
case 2:
|
||||||
arrivedAtDestination()
|
arrivedAtDestination()
|
||||||
|
self.fileName = "guibe_arrived"
|
||||||
case 3:
|
case 3:
|
||||||
wrongDirection()
|
wrongDirection()
|
||||||
|
self.fileName = "guibe_wrongdirection"
|
||||||
case 4:
|
case 4:
|
||||||
turnRight()
|
turnRight()
|
||||||
|
self.fileName = "guibe_right"
|
||||||
case 5:
|
case 5:
|
||||||
turnLeft()
|
turnLeft()
|
||||||
|
self.fileName = "guibe_left"
|
||||||
case 6:
|
case 6:
|
||||||
showDone()
|
showDone()
|
||||||
|
self.fileName = "guibe_arrived"
|
||||||
case 7:
|
case 7:
|
||||||
nextPage()
|
nextPage()
|
||||||
default:
|
default:
|
||||||
@ -60,57 +70,47 @@ class GameLearnViewController: UIViewController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func beginJourney() {
|
func beginJourney() {
|
||||||
|
UIView.animate(withDuration: 0.5, animations: {self.mainButton.alpha = 1.0})
|
||||||
self.textLabel.fadeTransition(0.5)
|
self.textLabel.fadeTransition(0.5)
|
||||||
self.textLabel.text = "This means \n'begin journey'"
|
self.textLabel.text = "This means \n'begin journey'"
|
||||||
self.mainButton.setTitle("Try me", for: .normal)
|
|
||||||
self.progressBar.setProgress(0.2, animated: true)
|
self.progressBar.setProgress(0.2, animated: true)
|
||||||
self.textLabel.accessibilityLabel = "This means begin journey"
|
self.textLabel.accessibilityLabel = "This means begin journey"
|
||||||
self.mainButton.accessibilityLabel = "Try me"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func arrivedAtDestination() {
|
func arrivedAtDestination() {
|
||||||
self.textLabel.fadeTransition(0.5)
|
self.textLabel.fadeTransition(0.5)
|
||||||
self.textLabel.text = "This means \n'arrived at destination'"
|
self.textLabel.text = "This means \n'arrived at destination'"
|
||||||
self.mainButton.setTitle("Try me", for: .normal)
|
|
||||||
self.progressBar.setProgress(0.4, animated: true)
|
self.progressBar.setProgress(0.4, animated: true)
|
||||||
self.textLabel.accessibilityLabel = "This means arrived at destination"
|
self.textLabel.accessibilityLabel = "This means arrived at destination"
|
||||||
self.mainButton.accessibilityLabel = "Try me"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func wrongDirection() {
|
func wrongDirection() {
|
||||||
self.textLabel.fadeTransition(0.5)
|
self.textLabel.fadeTransition(0.5)
|
||||||
self.textLabel.text = "This means \n'you're walking in the wrong direction'"
|
self.textLabel.text = "This means \n'you're walking in the wrong direction'"
|
||||||
self.mainButton.setTitle("Try me", for: .normal)
|
|
||||||
self.progressBar.setProgress(0.6, animated: true)
|
self.progressBar.setProgress(0.6, animated: true)
|
||||||
self.textLabel.accessibilityLabel = "This means you're walking in the wrong direction"
|
self.textLabel.accessibilityLabel = "This means you're walking in the wrong direction"
|
||||||
self.mainButton.accessibilityLabel = "Try me"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func turnRight() {
|
func turnRight() {
|
||||||
self.textLabel.fadeTransition(0.5)
|
self.textLabel.fadeTransition(0.5)
|
||||||
self.textLabel.text = "This means \n'turn right'"
|
self.textLabel.text = "This means \n'turn right'"
|
||||||
self.mainButton.setTitle("Try me", for: .normal)
|
|
||||||
self.progressBar.setProgress(0.8, animated: true)
|
self.progressBar.setProgress(0.8, animated: true)
|
||||||
self.textLabel.accessibilityLabel = "This means turn right"
|
self.textLabel.accessibilityLabel = "This means turn right"
|
||||||
self.mainButton.accessibilityLabel = "Try me"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func turnLeft() {
|
func turnLeft() {
|
||||||
self.textLabel.fadeTransition(0.5)
|
self.textLabel.fadeTransition(0.5)
|
||||||
self.textLabel.text = "This means \n'begin journey'"
|
self.textLabel.text = "This means \n'turn left'"
|
||||||
self.mainButton.setTitle("Try me", for: .normal)
|
|
||||||
self.progressBar.setProgress(1.0, animated: true)
|
self.progressBar.setProgress(1.0, animated: true)
|
||||||
self.textLabel.accessibilityLabel = "This means turn left"
|
self.textLabel.accessibilityLabel = "This means turn left"
|
||||||
self.mainButton.accessibilityLabel = "Try me"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func showDone() {
|
func showDone() {
|
||||||
self.textLabel.fadeTransition(0.5)
|
self.textLabel.fadeTransition(0.5)
|
||||||
self.textLabel.text = "You are finished"
|
self.textLabel.text = "You are all set!"
|
||||||
self.mainButton.alpha = 0.0
|
UIView.animate(withDuration: 0.5, animations: {self.mainButton.alpha = 0.0})
|
||||||
self.progressBar.alpha = 0.0
|
self.progressBar.alpha = 0.0
|
||||||
self.textLabel.accessibilityLabel = "You are finished"
|
self.textLabel.accessibilityLabel = "You are all set"
|
||||||
self.mainButton.accessibilityLabel = "Try me"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func nextPage() {
|
func nextPage() {
|
||||||
@ -119,6 +119,18 @@ class GameLearnViewController: UIViewController {
|
|||||||
self.present(nextViewController, animated: true, completion: nil)
|
self.present(nextViewController, animated: true, completion: nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func audioPlay (fName: String) {
|
||||||
|
let path = Bundle.main.path(forResource: fName, ofType : "mp3")!
|
||||||
|
let url = URL(fileURLWithPath : path)
|
||||||
|
do {
|
||||||
|
player = try AVAudioPlayer(contentsOf: url)
|
||||||
|
player.delegate = self
|
||||||
|
player.play()
|
||||||
|
} catch {
|
||||||
|
debugPrint("Error in playing sound file \(fName).mp3")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
extension UIView {
|
extension UIView {
|
||||||
|
|||||||
@ -27,14 +27,15 @@ class InstructionsViewController: UIViewController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@IBAction func easterEggPressed(_ sender: Any) {
|
@IBAction func easterEggPressed(_ sender: Any) {
|
||||||
separator.isHidden = true
|
self.separator.isHidden = true
|
||||||
self.view.backgroundColor = .green
|
UIView.animate(withDuration: 0.2, animations: {self.view.backgroundColor = .green})
|
||||||
DispatchQueue.main.asyncAfter(deadline: .now() + 0.4) {self.view.backgroundColor = .red}
|
DispatchQueue.main.asyncAfter(deadline: .now() + 0.4) {UIView.animate(withDuration: 0.2, animations: {self.view.backgroundColor = .red})}
|
||||||
DispatchQueue.main.asyncAfter(deadline: .now() + 0.8) {self.view.backgroundColor = .blue}
|
DispatchQueue.main.asyncAfter(deadline: .now() + 0.8) {UIView.animate(withDuration: 0.2, animations: {self.view.backgroundColor = .blue})}
|
||||||
DispatchQueue.main.asyncAfter(deadline: .now() + 1.2) {self.view.backgroundColor = .yellow}
|
DispatchQueue.main.asyncAfter(deadline: .now() + 1.2) {UIView.animate(withDuration: 0.2, animations: {self.view.backgroundColor = .yellow})}
|
||||||
DispatchQueue.main.asyncAfter(deadline: .now() + 1.6) {self.view.backgroundColor = .cyan}
|
DispatchQueue.main.asyncAfter(deadline: .now() + 1.6) {UIView.animate(withDuration: 0.2, animations: {self.view.backgroundColor = .cyan})}
|
||||||
DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) {self.view.backgroundColor = .magenta}
|
DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) {UIView.animate(withDuration: 0.2, animations: {self.view.backgroundColor = .magenta})}
|
||||||
DispatchQueue.main.asyncAfter(deadline: .now() + 2.4) {self.view.backgroundColor = .white;self.separator.isHidden = false}
|
DispatchQueue.main.asyncAfter(deadline: .now() + 2.4) {UIView.animate(withDuration: 0.2, animations: {self.view.backgroundColor = .white})}
|
||||||
|
self.separator.isHidden = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -373,9 +373,19 @@ extension MainViewController: CLLocationManagerDelegate {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func playStart(){
|
||||||
|
let path = Bundle.main.path(forResource: "guibe_begin", ofType : "mp3")!
|
||||||
|
let url = URL(fileURLWithPath : path)
|
||||||
|
do {
|
||||||
|
player = try AVAudioPlayer(contentsOf: url)
|
||||||
|
player.delegate = self
|
||||||
|
player.play()
|
||||||
|
} catch {}
|
||||||
|
}
|
||||||
|
|
||||||
func playRight(){
|
func playRight(){
|
||||||
// currentStepLbl.text = "COM: RIGHT"
|
// currentStepLbl.text = "COM: RIGHT"
|
||||||
let path = Bundle.main.path(forResource: "xright", ofType : "mp3")!
|
let path = Bundle.main.path(forResource: "guibe_long_right", ofType : "mp3")!
|
||||||
let url = URL(fileURLWithPath : path)
|
let url = URL(fileURLWithPath : path)
|
||||||
do {
|
do {
|
||||||
player = try AVAudioPlayer(contentsOf: url)
|
player = try AVAudioPlayer(contentsOf: url)
|
||||||
@ -386,7 +396,7 @@ extension MainViewController: CLLocationManagerDelegate {
|
|||||||
|
|
||||||
func playLeft(){
|
func playLeft(){
|
||||||
// currentStepLbl.text = "COM: LEFT"
|
// currentStepLbl.text = "COM: LEFT"
|
||||||
let path = Bundle.main.path(forResource: "xleft", ofType : "mp3")!
|
let path = Bundle.main.path(forResource: "guibe_long_left", ofType : "mp3")!
|
||||||
let url = URL(fileURLWithPath : path)
|
let url = URL(fileURLWithPath : path)
|
||||||
do {
|
do {
|
||||||
player = try AVAudioPlayer(contentsOf: url)
|
player = try AVAudioPlayer(contentsOf: url)
|
||||||
@ -402,7 +412,7 @@ extension MainViewController: CLLocationManagerDelegate {
|
|||||||
|
|
||||||
func playTurnArd(){
|
func playTurnArd(){
|
||||||
// currentStepLbl.text = "COM: UTURN"
|
// currentStepLbl.text = "COM: UTURN"
|
||||||
let path = Bundle.main.path(forResource: "xboth", ofType : "mp3")!
|
let path = Bundle.main.path(forResource: "guibe_wrongdirection", ofType : "mp3")!
|
||||||
let url = URL(fileURLWithPath : path)
|
let url = URL(fileURLWithPath : path)
|
||||||
do {
|
do {
|
||||||
player = try AVAudioPlayer(contentsOf: url)
|
player = try AVAudioPlayer(contentsOf: url)
|
||||||
@ -413,6 +423,13 @@ extension MainViewController: CLLocationManagerDelegate {
|
|||||||
|
|
||||||
func playDone(){
|
func playDone(){
|
||||||
// currentStepLbl.text = "COM: DONE"
|
// currentStepLbl.text = "COM: DONE"
|
||||||
|
let path = Bundle.main.path(forResource: "guibe_arrived", ofType : "mp3")!
|
||||||
|
let url = URL(fileURLWithPath : path)
|
||||||
|
do {
|
||||||
|
player = try AVAudioPlayer(contentsOf: url)
|
||||||
|
player.delegate = self
|
||||||
|
player.play()
|
||||||
|
} catch {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -7,15 +7,17 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
import UIKit
|
import UIKit
|
||||||
|
import AVKit
|
||||||
|
|
||||||
|
class SecondGameLearnViewController: UIViewController, AVAudioPlayerDelegate {
|
||||||
|
|
||||||
class SecondGameLearnViewController: UIViewController {
|
|
||||||
@IBOutlet weak var textLabel: UILabel!
|
@IBOutlet weak var textLabel: UILabel!
|
||||||
@IBOutlet weak var mainButton: UIButton!
|
@IBOutlet weak var mainButton: UIButton!
|
||||||
@IBOutlet weak var nextBtn: UIButton!
|
@IBOutlet weak var nextBtn: UIButton!
|
||||||
@IBOutlet weak var progressBar: UIProgressView!
|
@IBOutlet weak var progressBar: UIProgressView!
|
||||||
|
|
||||||
@IBAction func mainBtnPressed(_ sender: Any) {
|
@IBAction func mainBtnPressed(_ sender: Any) {
|
||||||
|
audioPlay(fName: self.fileName)
|
||||||
}
|
}
|
||||||
|
|
||||||
@IBAction func nextBtnPressed(_ sender: Any) {
|
@IBAction func nextBtnPressed(_ sender: Any) {
|
||||||
@ -23,12 +25,22 @@ class SecondGameLearnViewController: UIViewController {
|
|||||||
stepThrough(ptr: stepCounter)
|
stepThrough(ptr: stepCounter)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@IBAction func backBtnPressed(_ sender: Any) {
|
||||||
|
self.dismiss(animated: true, completion: nil)
|
||||||
|
}
|
||||||
|
|
||||||
var stepCounter: Int = 0
|
var stepCounter: Int = 0
|
||||||
|
var fileName: String = ""
|
||||||
|
|
||||||
|
var player = AVAudioPlayer()
|
||||||
|
|
||||||
override func viewDidLoad() {
|
override func viewDidLoad() {
|
||||||
super.viewDidLoad()
|
super.viewDidLoad()
|
||||||
|
|
||||||
textLabel.text = "Now we will .......\n........."
|
textLabel.text = "Now we will learn the different haptic patterns for navigationg with Guibe"
|
||||||
|
textLabel.accessibilityLabel = "Now we will learn the different haptic patterns for navigationg with geibe"
|
||||||
|
mainButton.accessibilityLabel = "Play vibration"
|
||||||
|
mainButton.alpha = 0.0
|
||||||
// Do any additional setup after loading the view.
|
// Do any additional setup after loading the view.
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -37,16 +49,22 @@ class SecondGameLearnViewController: UIViewController {
|
|||||||
switch ptr {
|
switch ptr {
|
||||||
case 1:
|
case 1:
|
||||||
beginJourney()
|
beginJourney()
|
||||||
|
self.fileName = "guibe_begin"
|
||||||
case 2:
|
case 2:
|
||||||
arrivedAtDestination()
|
arrivedAtDestination()
|
||||||
|
self.fileName = "guibe_arrived"
|
||||||
case 3:
|
case 3:
|
||||||
wrongDirection()
|
wrongDirection()
|
||||||
|
self.fileName = "guibe_wrongdirection"
|
||||||
case 4:
|
case 4:
|
||||||
turnRight()
|
turnRight()
|
||||||
|
self.fileName = "guibe_right"
|
||||||
case 5:
|
case 5:
|
||||||
turnLeft()
|
turnLeft()
|
||||||
|
self.fileName = "guibe_left"
|
||||||
case 6:
|
case 6:
|
||||||
showDone()
|
showDone()
|
||||||
|
self.fileName = "guibe_arrived"
|
||||||
case 7:
|
case 7:
|
||||||
nextPage()
|
nextPage()
|
||||||
default:
|
default:
|
||||||
@ -55,72 +73,63 @@ class SecondGameLearnViewController: UIViewController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func beginJourney() {
|
func beginJourney() {
|
||||||
|
UIView.animate(withDuration: 0.5, animations: {self.mainButton.alpha = 1.0})
|
||||||
self.textLabel.fadeTransition(0.5)
|
self.textLabel.fadeTransition(0.5)
|
||||||
self.textLabel.text = "This means \n'begin journey'"
|
self.textLabel.text = "This means \n'begin journey'"
|
||||||
self.mainButton.setTitle("Try me", for: .normal)
|
|
||||||
self.progressBar.setProgress(0.2, animated: true)
|
self.progressBar.setProgress(0.2, animated: true)
|
||||||
self.textLabel.accessibilityLabel = "This means begin journey"
|
self.textLabel.accessibilityLabel = "This means begin journey"
|
||||||
self.mainButton.accessibilityLabel = "Try me"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func arrivedAtDestination() {
|
func arrivedAtDestination() {
|
||||||
self.textLabel.fadeTransition(0.5)
|
self.textLabel.fadeTransition(0.5)
|
||||||
self.textLabel.text = "This means \n'arrived at destination'"
|
self.textLabel.text = "This means \n'arrived at destination'"
|
||||||
self.mainButton.setTitle("Try me", for: .normal)
|
|
||||||
self.progressBar.setProgress(0.4, animated: true)
|
self.progressBar.setProgress(0.4, animated: true)
|
||||||
self.textLabel.accessibilityLabel = "This means arrived at destination"
|
self.textLabel.accessibilityLabel = "This means arrived at destination"
|
||||||
self.mainButton.accessibilityLabel = "Try me"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func wrongDirection() {
|
func wrongDirection() {
|
||||||
self.textLabel.fadeTransition(0.5)
|
self.textLabel.fadeTransition(0.5)
|
||||||
self.textLabel.text = "This means \n'you're walking in the wrong direction'"
|
self.textLabel.text = "This means \n'you're walking in the wrong direction'"
|
||||||
self.mainButton.setTitle("Try me", for: .normal)
|
|
||||||
self.progressBar.setProgress(0.6, animated: true)
|
self.progressBar.setProgress(0.6, animated: true)
|
||||||
self.textLabel.accessibilityLabel = "This means you're walking in the wrong direction"
|
self.textLabel.accessibilityLabel = "This means you're walking in the wrong direction"
|
||||||
self.mainButton.accessibilityLabel = "Try me"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func turnRight() {
|
func turnRight() {
|
||||||
self.textLabel.fadeTransition(0.5)
|
self.textLabel.fadeTransition(0.5)
|
||||||
self.textLabel.text = "This means \n'turn right'"
|
self.textLabel.text = "This means \n'turn right'"
|
||||||
self.mainButton.setTitle("Try me", for: .normal)
|
|
||||||
self.progressBar.setProgress(0.8, animated: true)
|
self.progressBar.setProgress(0.8, animated: true)
|
||||||
self.textLabel.accessibilityLabel = "This means turn right"
|
self.textLabel.accessibilityLabel = "This means turn right"
|
||||||
self.mainButton.accessibilityLabel = "Try me"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func turnLeft() {
|
func turnLeft() {
|
||||||
self.textLabel.fadeTransition(0.5)
|
self.textLabel.fadeTransition(0.5)
|
||||||
self.textLabel.text = "This means \n'begin journey'"
|
self.textLabel.text = "This means \n'turn left'"
|
||||||
self.mainButton.setTitle("Try me", for: .normal)
|
|
||||||
self.progressBar.setProgress(1.0, animated: true)
|
self.progressBar.setProgress(1.0, animated: true)
|
||||||
self.textLabel.accessibilityLabel = "This means turn left"
|
self.textLabel.accessibilityLabel = "This means turn left"
|
||||||
self.mainButton.accessibilityLabel = "Try me"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func showDone() {
|
func showDone() {
|
||||||
self.textLabel.fadeTransition(0.5)
|
self.textLabel.fadeTransition(0.5)
|
||||||
self.textLabel.text = "You are finished"
|
self.textLabel.text = "You are all set!"
|
||||||
self.mainButton.alpha = 0.0
|
UIView.animate(withDuration: 0.5, animations: {self.mainButton.alpha = 0.0})
|
||||||
self.progressBar.alpha = 0.0
|
self.progressBar.alpha = 0.0
|
||||||
self.textLabel.accessibilityLabel = "You are finished"
|
self.textLabel.accessibilityLabel = "You are all set"
|
||||||
self.mainButton.accessibilityLabel = "Try me"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func nextPage() {
|
func nextPage() {
|
||||||
self.dismiss(animated: true, completion: nil)
|
self.dismiss(animated: true, completion: nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
func audioPlay (fName: String) {
|
||||||
|
let path = Bundle.main.path(forResource: fName, ofType : "mp3")!
|
||||||
|
let url = URL(fileURLWithPath : path)
|
||||||
|
do {
|
||||||
|
player = try AVAudioPlayer(contentsOf: url)
|
||||||
|
player.delegate = self
|
||||||
|
player.play()
|
||||||
|
} catch {
|
||||||
|
debugPrint("Error in playing sound file \(fName).mp3")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//extension UIView {
|
}
|
||||||
//
|
|
||||||
// func fadeTransition(_ duration:CFTimeInterval) {
|
|
||||||
// let animation = CATransition()
|
|
||||||
// animation.timingFunction = CAMediaTimingFunction(name: CAMediaTimingFunctionName.easeInEaseOut)
|
|
||||||
// animation.type = CATransitionType.fade
|
|
||||||
// animation.duration = duration
|
|
||||||
// layer.add(animation, forKey: CATransitionType.fade.rawValue)
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|||||||
BIN
Guibe/guibe_arrived.mp3
Normal file
BIN
Guibe/guibe_arrived.mp3
Normal file
Binary file not shown.
BIN
Guibe/guibe_begin.mp3
Normal file
BIN
Guibe/guibe_begin.mp3
Normal file
Binary file not shown.
BIN
Guibe/guibe_left.mp3
Normal file
BIN
Guibe/guibe_left.mp3
Normal file
Binary file not shown.
BIN
Guibe/guibe_long_left.mp3
Normal file
BIN
Guibe/guibe_long_left.mp3
Normal file
Binary file not shown.
BIN
Guibe/guibe_long_right.mp3
Normal file
BIN
Guibe/guibe_long_right.mp3
Normal file
Binary file not shown.
BIN
Guibe/guibe_right.mp3
Normal file
BIN
Guibe/guibe_right.mp3
Normal file
Binary file not shown.
BIN
Guibe/guibe_wrongdirection.mp3
Normal file
BIN
Guibe/guibe_wrongdirection.mp3
Normal file
Binary file not shown.
BIN
Guibe/xboth.mp3
BIN
Guibe/xboth.mp3
Binary file not shown.
BIN
Guibe/xleft.mp3
BIN
Guibe/xleft.mp3
Binary file not shown.
BIN
Guibe/xright.mp3
BIN
Guibe/xright.mp3
Binary file not shown.
Loading…
Reference in New Issue
Block a user