質問するログイン新規登録

質問編集履歴

2

コードの修正

2021/01/24 06:22

投稿

ryu-sei
ryu-sei

スコア12

title CHANGED
File without changes
body CHANGED
@@ -1,11 +1,11 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- startボタンを押したら振動が始まり、振幅sinカーブを描くような振動パターンを作りたいと考えています。以下のコードで0.1秒ごとに戻り値Hzが変化して振幅が上がっていくようにしたいです。
3
+ startボタンを押したら振動が始まり、0.1秒ごとの振幅を並べたときsinカーブを描くような振動パターンを作りたいと考えています。以下のコードで0.1秒ごとに戻り値Hzが変化していくようにしたいです。
4
4
 
5
5
  ### 発生している問題・エラーメッセージ
6
6
 
7
7
  ```
8
- 振動の様子変わらない。(うまくHzをかえせていない?)
8
+ アプリ落ちる
9
9
  ```
10
10
 
11
11
  ### 該当のソースコード
@@ -26,7 +26,7 @@
26
26
 
27
27
  start.setOnClickListener {
28
28
  val vibrator = getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
29
- val vibrationEffect = VibrationEffect.createWaveform(longArrayOf(100), intArrayOf(vib()), 0)
29
+ val vibrationEffect = VibrationEffect.createWaveform(longArrayOf(100), main(), 0)
30
30
  vibrator.vibrate(vibrationEffect)
31
31
  }
32
32
  stop.setOnClickListener{
@@ -35,10 +35,16 @@
35
35
  }
36
36
  }
37
37
 
38
- private fun vib(): Int {
38
+ private fun main(): IntArray {
39
+ val increase: (Int) -> () -> Int = { x: Int ->
40
+ var xx = x
41
+ { -> xx++ }
42
+ }
43
+ val f = increase(1)
39
- Hz= (sin(gHz*2*Math.PI*i/gTime).toInt())
44
+ Hz=sin(gHz*2*Math.PI*f()/gTime).toInt()
40
- i++
45
+
46
+
41
- return Hz
47
+ return (0 until 10).map { Hz }.toIntArray()
42
48
  }
43
49
  }
44
50
  ```

1

コードの修正

2021/01/24 06:22

投稿

ryu-sei
ryu-sei

スコア12

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,6 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- startボタンを押したら振動が始まり、振幅がsinカーブを描くような振動パターンを作りたいと考えています。以下のコードで0.1秒ごとに戻り値Hzが1ずつ増えて振幅が上がっていくようにしたいです。
3
+ startボタンを押したら振動が始まり、振幅がsinカーブを描くような振動パターンを作りたいと考えています。以下のコードで0.1秒ごとに戻り値Hzが変化して振幅が上がっていくようにしたいです。
4
4
 
5
5
  ### 発生している問題・エラーメッセージ
6
6
 
@@ -36,7 +36,7 @@
36
36
  }
37
37
 
38
38
  private fun vib(): Int {
39
- Hz= ((gHz +i).toInt())
39
+ Hz= (sin(gHz*2*Math.PI*i/gTime).toInt())
40
40
  i++
41
41
  return Hz
42
42
  }