今まで一度もプログラミングをやったことのない俺だが
月に4万円稼げるようになるまで頑張ってみようと思う
このスレを見て俺もやってみようと思った人がいたら一緒にはじめてみないか?
探検
プログラミング未経験→月4万
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2018/04/19(木) 17:52:04.48ID:PLYj983S663アンスタ3日目 ◆mqSs/N.hZs
2020/07/07(火) 21:20:52.29ID:ySP0lcXW アンスタ3日目【課題】タートルグラフィックス
3.1kotlinでCanvas にランダムライン描画続き
override fun onDraw(canvas: Canvas){// Canvas Background Color
canvas.drawColor(Color.argb(255, 0, 100, 125))
// Canvas center point
var xc = (width / 2).toFloat() ; var yc = (height / 2).toFloat()
paint.color = Color.argb(255, 0, 255, 100) // 色
paint.strokeWidth = 10f // 太さ
val random = Random()
fun Rand(from: Int, to: Int) : Int {
return random.nextInt(to - from) + from
}
for(i in 1..60){
val rndx = xc + Rand(-30,30)*dp as Float
val rndy = yc + Rand(-30,30)*dp as Float
canvas.drawLine(xc , yc, rndx, rndy, paint)
xc=rndx; yc=rndy
}
}
}
}
以上
https://i.imgur.com/c9KoFhi.png
3.1kotlinでCanvas にランダムライン描画続き
override fun onDraw(canvas: Canvas){// Canvas Background Color
canvas.drawColor(Color.argb(255, 0, 100, 125))
// Canvas center point
var xc = (width / 2).toFloat() ; var yc = (height / 2).toFloat()
paint.color = Color.argb(255, 0, 255, 100) // 色
paint.strokeWidth = 10f // 太さ
val random = Random()
fun Rand(from: Int, to: Int) : Int {
return random.nextInt(to - from) + from
}
for(i in 1..60){
val rndx = xc + Rand(-30,30)*dp as Float
val rndy = yc + Rand(-30,30)*dp as Float
canvas.drawLine(xc , yc, rndx, rndy, paint)
xc=rndx; yc=rndy
}
}
}
}
以上
https://i.imgur.com/c9KoFhi.png
664アンスタ4日目 ◆mqSs/N.hZs
2020/07/08(水) 07:07:28.22ID:yrsbI81q >>658
アンスタ4日目【課題】タートルグラフィックス
3.2.次にKotlinのclass定義
が良くわからない、Kotlinの外部クラスでつくるのかインナークラスでつくるのか・・
タートルクラスのメンバーやらメソッドやらも
どのように定義すべきか不明ちょっと詰まりそう・・
class Turtle(){
var angle: Int = 0
var x: Int = 0
var y: Int = 0
fun walk(){ //?}
fun turn(){ //?}
}
アンスタ4日目【課題】タートルグラフィックス
3.2.次にKotlinのclass定義
が良くわからない、Kotlinの外部クラスでつくるのかインナークラスでつくるのか・・
タートルクラスのメンバーやらメソッドやらも
どのように定義すべきか不明ちょっと詰まりそう・・
class Turtle(){
var angle: Int = 0
var x: Int = 0
var y: Int = 0
fun walk(){ //?}
fun turn(){ //?}
}
665蟻人間 ◆T6xkBnTXz7B0
2020/07/08(水) 09:56:03.73ID:wtc6YQgJ666蟻人間 ◆T6xkBnTXz7B0
2020/07/08(水) 09:58:00.62ID:wtc6YQgJ667アンスタ4日目 ◆mqSs/N.hZs
2020/07/08(水) 10:40:09.74ID:a07Dea5F >>665
ありがとうございます。以下読書中
Android Studioで始めるKotlin入門(4):
Kotlinにおけるクラス
https://www.atmarkit.co.jp/ait/spv/1804/02/news009.html
ありがとうございます。以下読書中
Android Studioで始めるKotlin入門(4):
Kotlinにおけるクラス
https://www.atmarkit.co.jp/ait/spv/1804/02/news009.html
668アンスタ4日目 ◆mqSs/N.hZs
2020/07/08(水) 11:03:15.62ID:a07Dea5F >>666
そのページは複雑過ぎてちんぷんかんぷんです。
data class Point ( var x = 0.0, var y = 0.0 )
class Turtle (var angle =0, var now = Point() ) {
fun turn(a){ angle = a }
fun walk(b, c){ now = (b, c) }
}
で良いのかな?何か違うような?よう分からんわ
そのページは複雑過ぎてちんぷんかんぷんです。
data class Point ( var x = 0.0, var y = 0.0 )
class Turtle (var angle =0, var now = Point() ) {
fun turn(a){ angle = a }
fun walk(b, c){ now = (b, c) }
}
で良いのかな?何か違うような?よう分からんわ
669蟻人間 ◆T6xkBnTXz7B0
2020/07/08(水) 16:45:59.53ID:fZdxMqQA タートルグラフィックのタートルの意味がわかってない?
タートル(亀)は位置と向きの情報を持っていて、前進すると、その向きに進む。
向きを変えるのも相対的な角度で指定する。
三角関数を知らないと難しいかもしれん。
タートル(亀)は位置と向きの情報を持っていて、前進すると、その向きに進む。
向きを変えるのも相対的な角度で指定する。
三角関数を知らないと難しいかもしれん。
670蟻人間 ◆T6xkBnTXz7B0
2020/07/08(水) 17:23:26.68ID:fZdxMqQA 例えば、亀が原点(0, 0)に居て、x軸から+30度の方向に5だけ進むと、亀の位置は(5*cos(π/3), 5*sin(π/3))となる。ここまでOK?
671蟻人間 ◆T6xkBnTXz7B0
2020/07/08(水) 17:24:58.07ID:fZdxMqQA 訂正。例えば、亀が原点(0, 0)に居て、x軸から+30度の方向に5だけ進むと、亀の位置は(5*cos(π/6), 5*sin(π/6))となる。ここまでOK?
672アンスタ4日目 ◆mqSs/N.hZs
2020/07/08(水) 18:10:48.71ID:1+QAm8uv ありがとうございます。三角関数懐かしいです。
難しいですね。高校数学でしたか
タートルグラフィックスプログラムの肝は
デカルト直行座標系と極座標変換なのですね。
ちょっと復習してます。
なので取り敢えず直行座標と極座標が混ざってるから
fun walk(b, c){ now = (b, c) }
これ間違いだね、必要なのは距離だけだね
fun walk(b:Double){
now.x = (b*math.cos(π/6)
now.y = (b*math.sin(π/6))
}
こうかな?まだまだエラーだらけでコンパイル通らないけど、
あと角度を反映させないとなぁ・・
難しいですね。高校数学でしたか
タートルグラフィックスプログラムの肝は
デカルト直行座標系と極座標変換なのですね。
ちょっと復習してます。
なので取り敢えず直行座標と極座標が混ざってるから
fun walk(b, c){ now = (b, c) }
これ間違いだね、必要なのは距離だけだね
fun walk(b:Double){
now.x = (b*math.cos(π/6)
now.y = (b*math.sin(π/6))
}
こうかな?まだまだエラーだらけでコンパイル通らないけど、
あと角度を反映させないとなぁ・・
673アンスタ4日目 ◆mqSs/N.hZs
2020/07/08(水) 18:21:22.13ID:1+QAm8uv >>663は角度使わずになんとか出来たけど
自分で出した課題とはいえヤバみ難しい
自分で出した課題とはいえヤバみ難しい
674蟻人間 ◆T6xkBnTXz7B0
2020/07/08(水) 18:43:15.58ID:fZdxMqQA カメが(x0, y0)に居て、向きがtで、r進むとすれば、
(x0 + r*cos(t), y0 + r*sin(t))
だろうよ。
(x0 + r*cos(t), y0 + r*sin(t))
だろうよ。
675蟻人間 ◆T6xkBnTXz7B0
2020/07/08(水) 18:53:13.74ID:wtc6YQgJ ここで向きtは、ラジアン単位で、一般角に拡張可能。
676アンスタ4日目 ◆mqSs/N.hZs
2020/07/08(水) 19:03:19.99ID:ZRZW4sA4 >>674
ありがとうございます。
どうにかエラーなく動きはしたものの
距離も角度もおかしい
https://i.imgur.com/ZDEsXVD.png
override fun onDraw(canvas: Canvas){// Canvas Background Color
canvas.drawColor(Color.argb(255, 0, 128, 128))
// Canvas center point
val xc = (width / 2).toDouble() ; val yc = (height / 2).toDouble()
paint.color = Color.argb(255, 0, 250, 0) // 色
paint.strokeWidth = 10f // 太さ
data class Point(var x: Double = 0.0, var y: Double =0.0 )
class Turtle(var angle: Int =0, var now: Point = Point()){
fun turn(a:Int){angle=a}
fun walk(b:Double){
now.x = b * Math.cos( Math.PI/6 ) //30°
now.y = b * Math.sin( Math.PI/6 )
canvas.drawLine(xc.toFloat(), yc.toFloat(),now.x.toFloat(),now.y.toFloat(),paint)
}
}
val t = Turtle(0, Point(xc,yc) )
t.walk(5.0)
}
ありがとうございます。
どうにかエラーなく動きはしたものの
距離も角度もおかしい
https://i.imgur.com/ZDEsXVD.png
override fun onDraw(canvas: Canvas){// Canvas Background Color
canvas.drawColor(Color.argb(255, 0, 128, 128))
// Canvas center point
val xc = (width / 2).toDouble() ; val yc = (height / 2).toDouble()
paint.color = Color.argb(255, 0, 250, 0) // 色
paint.strokeWidth = 10f // 太さ
data class Point(var x: Double = 0.0, var y: Double =0.0 )
class Turtle(var angle: Int =0, var now: Point = Point()){
fun turn(a:Int){angle=a}
fun walk(b:Double){
now.x = b * Math.cos( Math.PI/6 ) //30°
now.y = b * Math.sin( Math.PI/6 )
canvas.drawLine(xc.toFloat(), yc.toFloat(),now.x.toFloat(),now.y.toFloat(),paint)
}
}
val t = Turtle(0, Point(xc,yc) )
t.walk(5.0)
}
677蟻人間 ◆T6xkBnTXz7B0
2020/07/08(水) 19:18:13.40ID:wtc6YQgJ 現在のスマホの画面は超高精細だから、5ピクセルだとほとんどゼロに近く見える。
(0,0)と画面の中心点を線で結んだようなもの。
300ピクセルぐらいにしたらどうか。
あと、相対位置だから、現在位置を足さないとおかしいよ。
(0,0)と画面の中心点を線で結んだようなもの。
300ピクセルぐらいにしたらどうか。
あと、相対位置だから、現在位置を足さないとおかしいよ。
679アンスタ4日目 ◆mqSs/N.hZs
2020/07/08(水) 19:46:48.79ID:ZRZW4sA4 おおっ、それっぽくなって、少し近づきました
class Turtle(var angle: Int =0, var now: Point = Point()){
fun turn(a:Int){angle=a}
fun walk(b:Double){
var x2 = now.x + b * Math.cos( Math.PI/6 ) //30°
var y2 = now.y + b * Math.sin( Math.PI/6 )
canvas.drawLine(now.x.toFloat(),now.y.toFloat(), x2.toFloat(),y2.toFloat(),paint)
}
}
val t = Turtle(0, Point(xc, yc) )
t.walk(300.0)
https://i.imgur.com/PMjOn03.png
今日はここまでにします。ありがとうございました。
class Turtle(var angle: Int =0, var now: Point = Point()){
fun turn(a:Int){angle=a}
fun walk(b:Double){
var x2 = now.x + b * Math.cos( Math.PI/6 ) //30°
var y2 = now.y + b * Math.sin( Math.PI/6 )
canvas.drawLine(now.x.toFloat(),now.y.toFloat(), x2.toFloat(),y2.toFloat(),paint)
}
}
val t = Turtle(0, Point(xc, yc) )
t.walk(300.0)
https://i.imgur.com/PMjOn03.png
今日はここまでにします。ありがとうございました。
680蟻人間 ◆T6xkBnTXz7B0
2020/07/08(水) 20:53:39.77ID:wtc6YQgJ 角度を見ると、y軸が下向きに見えるね。左上が(0, 0)。
walkは、現在位置を更新する必要がある。
turnは相対角度で指定するのだろう。
walkは、現在位置を更新する必要がある。
turnは相対角度で指定するのだろう。
681アンスタ4日目 ◆mqSs/N.hZs
2020/07/08(水) 22:27:34.74ID:WById5/p あーWebページと同じディスプレイ座標系って
Y軸下向き+か、引き算かな?めんどくせー
var y2 = now.y + b * Math.sin( Math.PI/6 )
↓
var y2 = now.y − b * Math.sin( Math.PI/6 )
ですね。また、明日修正しよう
Y軸下向き+か、引き算かな?めんどくせー
var y2 = now.y + b * Math.sin( Math.PI/6 )
↓
var y2 = now.y − b * Math.sin( Math.PI/6 )
ですね。また、明日修正しよう
682アンスタ4日目 ◆mqSs/N.hZs
2020/07/08(水) 23:35:15.25ID:uxkKxnC4 >>675
メモ、多分、角度からラジアン関数にする
math.toRadian()を使う は ず
now.x = b * Math.cos( Math.PI/6 ) //30°
↓
now.x = b * Math.cos( math.toRadian(30) ) //30°
angleてInt型でええんかな?doubleにしてからfloatか?
また明日
メモ、多分、角度からラジアン関数にする
math.toRadian()を使う は ず
now.x = b * Math.cos( Math.PI/6 ) //30°
↓
now.x = b * Math.cos( math.toRadian(30) ) //30°
angleてInt型でええんかな?doubleにしてからfloatか?
また明日
683アンスタ5日目 ◆mqSs/N.hZs
2020/07/09(木) 18:17:31.73ID:YMHQKg0a >>680
相対角度と現在地更新に修正して出来ました。ありがとうございます
//構造体データクラス
data class Point(var x: Double = 0.0, var y: Double =0.0 )
//タートルクラス
class Turtle(var angle: Double = 0.0, var now: Point = Point()){
fun turn(a:Int){angle += a} //+=相対角度
fun walk(b:Double){
var x2 = now.x + b * Math.cos( Math.toRadians(angle) )
var y2 = now.y - b * Math.sin( Math.toRadians(angle) )//Y軸下向き+の為引き算
canvas.drawLine(now.x.toFloat(),now.y.toFloat(), x2.toFloat(),y2.toFloat(),paint)
now.x=x2 ; now.y=y2 //現在地更新
}
}
val t = Turtle(0.0, Point(xc,yc) )
t.walk(300.0)
t.turn(120)
t.walk(300.0)
t.turn(120)
t.walk(300.0)
https://i.imgur.com/It79sWl.jpg
相対角度と現在地更新に修正して出来ました。ありがとうございます
//構造体データクラス
data class Point(var x: Double = 0.0, var y: Double =0.0 )
//タートルクラス
class Turtle(var angle: Double = 0.0, var now: Point = Point()){
fun turn(a:Int){angle += a} //+=相対角度
fun walk(b:Double){
var x2 = now.x + b * Math.cos( Math.toRadians(angle) )
var y2 = now.y - b * Math.sin( Math.toRadians(angle) )//Y軸下向き+の為引き算
canvas.drawLine(now.x.toFloat(),now.y.toFloat(), x2.toFloat(),y2.toFloat(),paint)
now.x=x2 ; now.y=y2 //現在地更新
}
}
val t = Turtle(0.0, Point(xc,yc) )
t.walk(300.0)
t.turn(120)
t.walk(300.0)
t.turn(120)
t.walk(300.0)
https://i.imgur.com/It79sWl.jpg
684蟻人間 ◆T6xkBnTXz7B0
2020/07/09(木) 18:25:47.94ID:2UhyUN9n685アンスタ5日目 ◆mqSs/N.hZs
2020/07/09(木) 18:45:23.44ID:YMHQKg0a 多角形描いてみたらズレてますけど、さらっと行きたかったんで、まいっか。
val t = Turtle(0.0, Point(xc,yc) )
for(n in 3..12) { //多角形ポリゴン
t.angle=0.0 ; t.now=Point(xc*2/3,20*n + yc*3/2)
for(j in 1..n) {
t.walk(300.0) ; t.turn(360/n)
}
}
https://i.imgur.com/G0Cf1eQ.jpg
次はこれ使って【3.3】再帰呼び出しリカーシブに挑戦だ
val t = Turtle(0.0, Point(xc,yc) )
for(n in 3..12) { //多角形ポリゴン
t.angle=0.0 ; t.now=Point(xc*2/3,20*n + yc*3/2)
for(j in 1..n) {
t.walk(300.0) ; t.turn(360/n)
}
}
https://i.imgur.com/G0Cf1eQ.jpg
次はこれ使って【3.3】再帰呼び出しリカーシブに挑戦だ
686アンスタ5日目 ◆mqSs/N.hZs
2020/07/09(木) 18:49:40.73ID:YMHQKg0a687蟻人間 ◆T6xkBnTXz7B0
2020/07/09(木) 18:54:24.79ID:2UhyUN9n angleが整数だと誤差が大きいんじゃないか?
688蟻人間 ◆T6xkBnTXz7B0
2020/07/09(木) 19:02:15.05ID:2UhyUN9n 360/n
これは整数除算。
360.0/n
こうすれば実数の割り算になる。
これは整数除算。
360.0/n
こうすれば実数の割り算になる。
689アンスタ5日目 ◆mqSs/N.hZs
2020/07/09(木) 19:23:07.51ID:YMHQKg0a >>684
コッホ曲線描けました。ほとんどコピペですが。。。向きが逆とか・・
val t = Turtle(60.0, Point(xc, yc) )
fun Kochsub(degree:Int, step:Double) {
if (degree == 0) {
t.walk(step);
// walk の始点と終点を結ぶ線分を描く
} else {
Kochsub(degree - 1, step/3);
t.turn(-60);
Kochsub(degree - 1, step/3);
t.turn(120);
Kochsub(degree - 1, step/3);
t.turn(-60);
Kochsub(degree - 1, step/3);
}
}
Kochsub(4, 600.0)
https://i.imgur.com/ir9iJQy.jpg
コッホ曲線描けました。ほとんどコピペですが。。。向きが逆とか・・
val t = Turtle(60.0, Point(xc, yc) )
fun Kochsub(degree:Int, step:Double) {
if (degree == 0) {
t.walk(step);
// walk の始点と終点を結ぶ線分を描く
} else {
Kochsub(degree - 1, step/3);
t.turn(-60);
Kochsub(degree - 1, step/3);
t.turn(120);
Kochsub(degree - 1, step/3);
t.turn(-60);
Kochsub(degree - 1, step/3);
}
}
Kochsub(4, 600.0)
https://i.imgur.com/ir9iJQy.jpg
690アンスタ5日目 ◆mqSs/N.hZs
2020/07/09(木) 19:29:56.05ID:YMHQKg0a691蟻人間 ◆T6xkBnTXz7B0
2020/07/09(木) 19:36:51.16ID:2UhyUN9n692アンスタ5日目 ◆mqSs/N.hZs
2020/07/09(木) 19:47:43.68ID:YMHQKg0a >>691
OKでーす。
https://i.imgur.com/uH3uJCM.png
val t = Turtle(0.0, Point(xc-450, yc) )
fun Kochsub(degree:Int, step:Double) {
if (degree == 0) {
t.walk(step);
// walk の始点と終点を結ぶ線分を描く
} else {
Kochsub(degree - 1, step/3.0);
t.turn(60.0);
Kochsub(degree - 1, step/3.0);
t.turn(-120.0);
Kochsub(degree - 1, step/3.0);
t.turn(60.0);
Kochsub(degree - 1, step/3.0);
}
}
Kochsub(4, 900.0)
すみませが、今日はこの辺で、他のも試してみたいと思います
OKでーす。
https://i.imgur.com/uH3uJCM.png
val t = Turtle(0.0, Point(xc-450, yc) )
fun Kochsub(degree:Int, step:Double) {
if (degree == 0) {
t.walk(step);
// walk の始点と終点を結ぶ線分を描く
} else {
Kochsub(degree - 1, step/3.0);
t.turn(60.0);
Kochsub(degree - 1, step/3.0);
t.turn(-120.0);
Kochsub(degree - 1, step/3.0);
t.turn(60.0);
Kochsub(degree - 1, step/3.0);
}
}
Kochsub(4, 900.0)
すみませが、今日はこの辺で、他のも試してみたいと思います
693アンスタ6日目 ◆mqSs/N.hZs
2020/07/10(金) 22:26:59.64ID:BolrKhEx694アンスタ7日目 ◆mqSs/N.hZs
2020/07/11(土) 10:41:29.52ID:Rtii2xnW コピペで一部分しか書き換えてないし
複数の図形を切り替えるのどうすれば良いのだろう?
複数の図形を切り替えるのどうすれば良いのだろう?
695アンスタ7日目 ◆mqSs/N.hZs
2020/07/11(土) 15:01:20.95ID:L5LJscxh 誠に残念ですが1週間程は体調が良くなる目処がたちませんので
回復したらまたやり始めるかもわかりませんが
本件は一旦閉じます。
短い間でしたがお付き合いいただきましてありがとうございました。
回復したらまたやり始めるかもわかりませんが
本件は一旦閉じます。
短い間でしたがお付き合いいただきましてありがとうございました。
696蟻人間 ◆T6xkBnTXz7B0
2020/07/11(土) 15:02:33.78ID:T2hwfIgh キャンバスに対して描画関数を呼び出せば、描画できる。複数個描画したいなら、複数回呼び出せばいい。切り替えには、ボタンやフラグ変数などを使えばいい。
698アンスタ7日目 ◆mqSs/N.hZs
2020/07/11(土) 20:01:32.95ID:weGbEKfC パソコンに向かえないのでスマホでちょこちょこ検索したのをメモしたりはするかもです
ViewPager を使用してタブ付きスワイプビューを作成する
https://developer.android.com/guide/navigation/navigation-swipe-view?hl=ja#kotlin
【はじめてのAndroidアプリ開発】タブ機能を使う
https://youtu.be/CmYFQej_RSA
ViewPager を使用してタブ付きスワイプビューを作成する
https://developer.android.com/guide/navigation/navigation-swipe-view?hl=ja#kotlin
【はじめてのAndroidアプリ開発】タブ機能を使う
https://youtu.be/CmYFQej_RSA
699蟻人間 ◆T6xkBnTXz7B0
2020/07/16(木) 23:46:24.19ID:Tv2xtriA とりあえずアプリ作れてる?
700アンスタ7.1日目 ◆mqSs/N.hZs
2020/07/19(日) 22:47:30.71ID:br4B5oLD701蟻人間 ◆T6xkBnTXz7B0
2020/07/19(日) 22:53:41.01ID:T8vbWyFG 一つひとつはつまらないかも知れないが、ボタンを押したら画像を切替えるとか、パラメータを指定すると変化させるとか、
いろんなバリエーションが考えられるよ。つまらないならタートルをやめてもいいし。
いろんなバリエーションが考えられるよ。つまらないならタートルをやめてもいいし。
702デフォルトの名無しさん
2020/07/20(月) 00:35:58.30ID:GZKXIxHw >>1から見ていったら途中で2年くらい飛んでてわろたw
703アンスタ7.2日目 ◆mqSs/N.hZs
2020/07/20(月) 23:24:10.91ID:5ka8Ymx5 >>701
別にタートルグラフィックスがつまらないわけじゃないんだ
僕がつまらい人間なんだよ。。。
ドラゴン曲線もやってみたよ。
https://i.imgur.com/eeLF5Gt.png
ドラゴン曲線ランダムバージョン
https://i.imgur.com/a1crJqx.png
別にタートルグラフィックスがつまらないわけじゃないんだ
僕がつまらい人間なんだよ。。。
ドラゴン曲線もやってみたよ。
https://i.imgur.com/eeLF5Gt.png
ドラゴン曲線ランダムバージョン
https://i.imgur.com/a1crJqx.png
704蟻人間 ◆T6xkBnTXz7B0
2020/07/20(月) 23:33:37.88ID:6GFyBW1T ボタンを押したらフラグ変数を更新して、フラグ変数を元に再描画までやってみようか?
705アンスタ7.3日目 ◆mqSs/N.hZs
2020/07/21(火) 01:58:42.36ID:tlCHC+G3 タグでの切り替えは未だに分からず
新規作成のタグviewテンプレートはそのまま起動出来るんですがどうやって成り立つのか意味不明で
次のその課題も
ボタンとviewのcanvas同時表示が難しいので理解が追い付かず困ってます
まず、
1.メインアクティビティからviewのcanvasをクラスとしての分離
2.各種曲線の関数化と引数をどう書くのもかわからないし、
タートルクラスを分離してグローバル変数にしないといけないのかどうかとか
3.メインアクティビティとしてviewとボタンの同時レイアウトの設定と書き方
4.ボタン引数の渡しかたとviewでの引数受け取り
5.タートルメソッド呼び出しと曲線関数を選択してcanvas再描画
そのどれもがAndroidのKotlinでどう実現したらいいかわからないorz
新規作成のタグviewテンプレートはそのまま起動出来るんですがどうやって成り立つのか意味不明で
次のその課題も
ボタンとviewのcanvas同時表示が難しいので理解が追い付かず困ってます
まず、
1.メインアクティビティからviewのcanvasをクラスとしての分離
2.各種曲線の関数化と引数をどう書くのもかわからないし、
タートルクラスを分離してグローバル変数にしないといけないのかどうかとか
3.メインアクティビティとしてviewとボタンの同時レイアウトの設定と書き方
4.ボタン引数の渡しかたとviewでの引数受け取り
5.タートルメソッド呼び出しと曲線関数を選択してcanvas再描画
そのどれもがAndroidのKotlinでどう実現したらいいかわからないorz
706アンスタ7.3日目 ◆mqSs/N.hZs
2020/07/21(火) 02:11:39.66ID:tlCHC+G3707蟻人間 ◆T6xkBnTXz7B0
2020/07/21(火) 02:49:45.10ID:iLwMnecK うむ、チュートリアルを順番にやった方がよかったか。まだ諦めるな。こちらで検証してみるから。
708アンスタ7.3日目 ◆mqSs/N.hZs
2020/07/21(火) 03:00:53.23ID:tlCHC+G3 まだ諦めてはいません
左右の傾きセンサーで左右に移動してボタンでミサイル発射する事を想定するなら
canvasとボタン一個(またはタッチリスナー)は必要だと思いますので
左右の傾きセンサーで左右に移動してボタンでミサイル発射する事を想定するなら
canvasとボタン一個(またはタッチリスナー)は必要だと思いますので
709蟻人間 ◆T6xkBnTXz7B0
2020/07/21(火) 07:32:47.73ID:w/y1zMfY ボタンのあるアプリを作りたいんだろ?
まず、「下部ナビゲーションアクティビティ」を選び、下部のnav_viewに
ボタン「button1」「button2」を追加する。
追加方法は「Buttons」→「Button」をドロップして、「id」に「button1」
「button2」を指定すればOK。
まず、「下部ナビゲーションアクティビティ」を選び、下部のnav_viewに
ボタン「button1」「button2」を追加する。
追加方法は「Buttons」→「Button」をドロップして、「id」に「button1」
「button2」を指定すればOK。
711蟻人間 ◆T6xkBnTXz7B0
2020/07/21(火) 09:18:34.12ID:w/y1zMfY ここにキャンバスの描画方法が書いてあるみたいです。
https://codelabs.developers.google.com/codelabs/advanced-android-kotlin-training-canvas/#2
https://codelabs.developers.google.com/codelabs/advanced-android-kotlin-training-canvas/#2
712蟻人間 ◆T6xkBnTXz7B0
2020/07/21(火) 10:14:54.32ID:w/y1zMfY こりゃ、Android Studioは難しいね。
古いのと新しいのが混じっていてバージョン違いで動かないことがある。
Kotlinの使えるサンプルが少ない。サンプルが古い。すぐ古くなる。
古いKotlinと新しいKotlinがあるのか。
デバッガがVisual Studioに比べて使いづらい。
継承したクラスをレイアウトする方法が書かれていない。
こりゃむずいよ。
古いのと新しいのが混じっていてバージョン違いで動かないことがある。
Kotlinの使えるサンプルが少ない。サンプルが古い。すぐ古くなる。
古いKotlinと新しいKotlinがあるのか。
デバッガがVisual Studioに比べて使いづらい。
継承したクラスをレイアウトする方法が書かれていない。
こりゃむずいよ。
713アンスタ7.3日目 ◆mqSs/N.hZs
2020/07/21(火) 10:20:01.94ID:cnlWcoC2714アンスタ7.3日目
2020/07/21(火) 10:28:51.40ID:cnlWcoC2715蟻人間 ◆T6xkBnTXz7B0
2020/07/21(火) 11:37:44.44ID:w/y1zMfY Viewを拡張せずにビットマップを使って描画する方法です:
https://twitter.com/katahiromz/status/1285403020704935941
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
button.setOnClickListener { view ->
var bitmap = Bitmap.createBitmap(500, 300, Bitmap.Config.ARGB_8888)
var canvas = Canvas(bitmap)
canvas.drawColor(Color.LTGRAY)
var paint = Paint()
paint.color = Color.BLUE
paint.style = Paint.Style.STROKE
paint.strokeWidth = 20F
paint.isAntiAlias = true
var cx = canvas.width / 2F;
var cy = canvas.height / 2F;
canvas.drawLine(cx - 100F, cy, cx + 100F, cy, paint)
imageView.setImageBitmap(bitmap)
}
}
}
https://twitter.com/5chan_nel (5ch newer account)
https://twitter.com/katahiromz/status/1285403020704935941
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
button.setOnClickListener { view ->
var bitmap = Bitmap.createBitmap(500, 300, Bitmap.Config.ARGB_8888)
var canvas = Canvas(bitmap)
canvas.drawColor(Color.LTGRAY)
var paint = Paint()
paint.color = Color.BLUE
paint.style = Paint.Style.STROKE
paint.strokeWidth = 20F
paint.isAntiAlias = true
var cx = canvas.width / 2F;
var cy = canvas.height / 2F;
canvas.drawLine(cx - 100F, cy, cx + 100F, cy, paint)
imageView.setImageBitmap(bitmap)
}
}
}
https://twitter.com/5chan_nel (5ch newer account)
716蟻人間 ◆T6xkBnTXz7B0
2020/07/21(火) 11:52:41.25ID:w/y1zMfY 問題は、どうやって画面のサイズにビットマップを合わせるか。
画面はタテヨコ回転するし、縦横比が違うとレイアウトが崩れてしまう。
画面はタテヨコ回転するし、縦横比が違うとレイアウトが崩れてしまう。
717アンスタ7.3日目 ◆mqSs/N.hZs
2020/07/21(火) 12:18:43.64ID:0Rlv47w0 nyan のアプリ開発 Androidアプリ、作り方、ベーシックサンプル集
[Android] Custom Canvas をレイアウトに挿入する
https://akira-watson.com/android/custom-canvas1.html
とりあえずこちらのページをコピペしました。
貼り付けたらアンスタが自動でKotolinに変換してくれたので
まずは表示まで
https://i.imgur.com/bU5s6jP.png
[Android] Custom Canvas をレイアウトに挿入する
https://akira-watson.com/android/custom-canvas1.html
とりあえずこちらのページをコピペしました。
貼り付けたらアンスタが自動でKotolinに変換してくれたので
まずは表示まで
https://i.imgur.com/bU5s6jP.png
718アンスタ7.3日目 ◆mqSs/N.hZs
2020/07/21(火) 12:22:25.32ID:0Rlv47w0719蟻人間 ◆T6xkBnTXz7B0
2020/07/21(火) 12:33:43.35ID:iLwMnecK 再描画するなら、タートルの位置と向きをリセットして、背景をクリアする必要がある。
ボタンタップは上記の通りsetOnClickListenerを使えばイベントを捕まえられる。
ボタンタップは上記の通りsetOnClickListenerを使えばイベントを捕まえられる。
720MyView.kt
2020/07/21(火) 12:40:17.12ID:0Rlv47w0 package com.example.my・・・
import ・・・
class MyView(context: Context?, attrs: AttributeSet?) :
View(context, attrs) {
var paint: Paint
override fun onDraw(canvas: Canvas) {
// 背景、半透明
canvas.drawColor(Color.argb(127, 0, 127, 63))
// 円
paint.color = Color.argb(255, 68, 255, 255)
paint.strokeWidth = 30f
paint.isAntiAlias = true
paint.style = Paint.Style.STROKE
// (x1,y1,r,paint) 中心x1座標, 中心y1座標, r半径
canvas.drawCircle(450f, 450f, 100f, paint)
// 矩形
paint.color = Color.argb(255, 255, 190, 0)
paint.strokeWidth = 10f
paint.style = Paint.Style.STROKE
// (x1,y1,x2,y2,paint) 左上の座標(x1,y1), 右下の座標(x2,y2)
canvas.drawRect(480f, 480f, 850f, 880f, paint)
// 線
paint.strokeWidth = 15f
paint.color = Color.argb(255, 0, 255, 120)
// (x1,y1,x2,y2,paint) 始点の座標(x1,y1), 終点の座標(x2,y2)
canvas.drawLine(350f, 850f, 750f, 630f, paint)
}
init { paint = Paint(); }
}
import ・・・
class MyView(context: Context?, attrs: AttributeSet?) :
View(context, attrs) {
var paint: Paint
override fun onDraw(canvas: Canvas) {
// 背景、半透明
canvas.drawColor(Color.argb(127, 0, 127, 63))
// 円
paint.color = Color.argb(255, 68, 255, 255)
paint.strokeWidth = 30f
paint.isAntiAlias = true
paint.style = Paint.Style.STROKE
// (x1,y1,r,paint) 中心x1座標, 中心y1座標, r半径
canvas.drawCircle(450f, 450f, 100f, paint)
// 矩形
paint.color = Color.argb(255, 255, 190, 0)
paint.strokeWidth = 10f
paint.style = Paint.Style.STROKE
// (x1,y1,x2,y2,paint) 左上の座標(x1,y1), 右下の座標(x2,y2)
canvas.drawRect(480f, 480f, 850f, 880f, paint)
// 線
paint.strokeWidth = 15f
paint.color = Color.argb(255, 0, 255, 120)
// (x1,y1,x2,y2,paint) 始点の座標(x1,y1), 終点の座標(x2,y2)
canvas.drawLine(350f, 850f, 750f, 630f, paint)
}
init { paint = Paint(); }
}
2020/07/21(火) 12:42:27.25ID:0Rlv47w0
package com.example.myturtlegraphics
import android.os.Bundle
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val label = findViewById<TextView>(R.id.label)
label.setText(R.string.text)
}
}
import android.os.Bundle
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val label = findViewById<TextView>(R.id.label)
label.setText(R.string.text)
}
}
2020/07/21(火) 12:46:19.40ID:0Rlv47w0
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"> <!-- ここは自分のプロジェクトに合わせる -->
<com.example.myturtlegraphics.MyView
android:layout_width="340dp"
android:layout_height="420dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/label"
〜省略〜
app:layout_constraintVertical_bias="0.2" />
<Button
android:text="@string/button"
android:layout_width="200dp"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.88" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"> <!-- ここは自分のプロジェクトに合わせる -->
<com.example.myturtlegraphics.MyView
android:layout_width="340dp"
android:layout_height="420dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/label"
〜省略〜
app:layout_constraintVertical_bias="0.2" />
<Button
android:text="@string/button"
android:layout_width="200dp"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.88" />
</androidx.constraintlayout.widget.ConstraintLayout>
723strings.xml
2020/07/21(火) 12:48:00.91ID:0Rlv47w0 <resources>
<string name="app_name">MyTurtleGraphics</string>
<string name="button">Button</string>
<string name="text">"サンプルをコピペしました\n
これはテストページの\nテストテキスト文章の\n文字列です。
ABCDEFG\n
"</string>
</resources>
<string name="app_name">MyTurtleGraphics</string>
<string name="button">Button</string>
<string name="text">"サンプルをコピペしました\n
これはテストページの\nテストテキスト文章の\n文字列です。
ABCDEFG\n
"</string>
</resources>
724蟻人間 ◆T6xkBnTXz7B0
2020/07/21(火) 12:51:01.86ID:iLwMnecK 面白いのができたら、apkをGoogle Playに公開しよう。それも有料で。スマホには夢がある。
誰に売るのかを考えると、やっぱり英語圏と中国語圏は捨てられない。
リソース(res)文字列は言語の切替えに便利だ。
誰に売るのかを考えると、やっぱり英語圏と中国語圏は捨てられない。
リソース(res)文字列は言語の切替えに便利だ。
725アンスタ7.3日目 ◆mqSs/N.hZs
2020/07/21(火) 12:51:22.67ID:0Rlv47w0 MyView.kt
MainActivity.kt
activity_main.xml
strings.xml
とりあえず以上の4つのファイルで動作することまでです。
以上、今日はここまで
MainActivity.kt
activity_main.xml
strings.xml
とりあえず以上の4つのファイルで動作することまでです。
以上、今日はここまで
726アンスタ7.3日目 ◆mqSs/N.hZs
2020/07/21(火) 12:55:07.17ID:0Rlv47w0727アンスタ7.4日目 ◆mqSs/N.hZs
2020/07/22(水) 00:59:41.07ID:dlEVGvhK canvasのviewとボタンさえ出来れば
ボタンを押すと画面に変化が起きる基礎の基礎
ようやくゲーム機でいうところの
テレビ画面とコントローラーが揃う事になります
あと一歩がんばる
でも次は大きな山場スプライトアニメーションの実装が・・・
ボタンを押すと画面に変化が起きる基礎の基礎
ようやくゲーム機でいうところの
テレビ画面とコントローラーが揃う事になります
あと一歩がんばる
でも次は大きな山場スプライトアニメーションの実装が・・・
728アンスタ7.4日目 ◆mqSs/N.hZs
2020/07/22(水) 01:04:18.12ID:dlEVGvhK729蟻人間 ◆T6xkBnTXz7B0
2020/07/22(水) 19:23:06.14ID:7WzCMWp7 おや、ビビってんのかな。知らないだれかに使ってもらうんだから、社会的責任が増えるのは当たり前だ。匿名で登録する裏ワザはない。
匿名のイーロンマスクは居ない。何ならペーパーカンパニーでも作るか?
匿名のイーロンマスクは居ない。何ならペーパーカンパニーでも作るか?
730蟻人間 ◆T6xkBnTXz7B0
2020/07/22(水) 21:08:05.22ID:7WzCMWp7 http://simple-life777.はてなblog.com/entry/2019/01/22/apk%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AB%E7%BD%B2%E5%90%8D%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%80%90Android%E3%82%A2%E3%83%97%E3%83%AA%E3%80%91
ここにアプリの署名方法が書いてある。
APKpureというサイトを使うと野良配布が出来るらしい。
ここにアプリの署名方法が書いてある。
APKpureというサイトを使うと野良配布が出来るらしい。
731蟻人間 ◆T6xkBnTXz7B0
2020/07/22(水) 21:42:14.72ID:7WzCMWp7 画面回転はデカいトラップのように見える。回転が起きたときに、アプリが再起動されるようなことがあるらしい。対策が必要だ。
732蟻人間 ◆T6xkBnTXz7B0
2020/07/22(水) 21:52:24.07ID:7WzCMWp7 https://akira-watson.com/android/orientation.html
これを指定すれば回転をロックできるようだ。
これを指定すれば回転をロックできるようだ。
733蟻人間 ◆T6xkBnTXz7B0
2020/07/22(水) 22:24:49.56ID:7WzCMWp7734アンスタ7.4日目 ◆mqSs/N.hZs
2020/07/22(水) 22:37:27.84ID:ldPwt2lK >>729-733
いろいろとありがとうございます。まぁ、まだまだ時期尚早といいましょうか
[Android] Canvas クリアーして再描画
https://akira-watson.com/android/canvas-clear.html
を参考にいろいろ試したのですがエラーが取れなくてなかなか手こずりました
どうにかこうにかボタンで再描画までたどり着きました。
kotlinの書き方がいまいちよくわからんので間違ってるかもですが、とにかく動きました
https://i.imgur.com/6I0V4ts.gif
備忘録としてメモ
MyView.ktでメソッドを定義しておいて
fun showCanvas(flg: Boolean) {
viewflg = flg
// 再描画
invalidate()
}
MainActivity.ktでインスタンス化してボタンリスナーでランニング
this.myView = this.findViewById(R.id.myView)
val button: Button = findViewById(R.id.button)
button.setOnClickListener{
myView?.run { showCanvas(true) }
}
疲れたしねる。
いろいろとありがとうございます。まぁ、まだまだ時期尚早といいましょうか
[Android] Canvas クリアーして再描画
https://akira-watson.com/android/canvas-clear.html
を参考にいろいろ試したのですがエラーが取れなくてなかなか手こずりました
どうにかこうにかボタンで再描画までたどり着きました。
kotlinの書き方がいまいちよくわからんので間違ってるかもですが、とにかく動きました
https://i.imgur.com/6I0V4ts.gif
備忘録としてメモ
MyView.ktでメソッドを定義しておいて
fun showCanvas(flg: Boolean) {
viewflg = flg
// 再描画
invalidate()
}
MainActivity.ktでインスタンス化してボタンリスナーでランニング
this.myView = this.findViewById(R.id.myView)
val button: Button = findViewById(R.id.button)
button.setOnClickListener{
myView?.run { showCanvas(true) }
}
疲れたしねる。
735a4 ◆L1L.Ef50zuAv
2020/07/23(木) 09:49:52.99ID:fwUN55zD こんにちは。T語で喋る人工知能の開発を協力してくれる方を募集しています。
技術の詳細はこちら。
http://www.01ken.com/art1.html
時給2000円くらいを想定しています。Skypeなどで僕とやり取りしながら、
日本語などで入力していきます。でも、予算はあまり落ちてないので合計で
月2万円くらいしか流れないかもしれません。でも月4万円を目指してる方
ならこれでいいんじゃないかと。税金などの法律に関しては、父親が自営業で工場
を持っているので、そちらで処理します。ご連絡をお待ちしています。
技術の詳細はこちら。
http://www.01ken.com/art1.html
時給2000円くらいを想定しています。Skypeなどで僕とやり取りしながら、
日本語などで入力していきます。でも、予算はあまり落ちてないので合計で
月2万円くらいしか流れないかもしれません。でも月4万円を目指してる方
ならこれでいいんじゃないかと。税金などの法律に関しては、父親が自営業で工場
を持っているので、そちらで処理します。ご連絡をお待ちしています。
736アンスタ7.5日目 ◆mqSs/N.hZs
2020/07/23(木) 11:34:28.30ID:qQzwkkHt >>735
申し訳ありませんが私は1週間程度のプログラミング能力で
まだ基本的なアニメーションにすらたどり付いていないばかり
人工知能開発に協力するなどというのは余りにも無謀で難し過ぎますし
なによりそのT語で喋るという事の意味が理解出来かねます
レベルの低い初心者なのでお役に立てそうにありません
申し訳ありませんが私は1週間程度のプログラミング能力で
まだ基本的なアニメーションにすらたどり付いていないばかり
人工知能開発に協力するなどというのは余りにも無謀で難し過ぎますし
なによりそのT語で喋るという事の意味が理解出来かねます
レベルの低い初心者なのでお役に立てそうにありません
737a4 ◆L1L.Ef50zuAv
2020/07/23(木) 12:30:37.20ID:fwUN55zD >>736
ご返信ありがとうございます。確かに1週間くらいのスキルでは厳しいかもしれ
ません。2000円の仕事なので。でも、これは日本語で入力できるんですよ。
例えば、
http://01ken.com/t401.html
こんな感じに書けばいいんじゃないかと。これは左の単語に反応して右の文章が出力
されるというものです。僕も困ってるんですよ。協力者が少なくて。質問などが
あれば聞きます。
ご返信ありがとうございます。確かに1週間くらいのスキルでは厳しいかもしれ
ません。2000円の仕事なので。でも、これは日本語で入力できるんですよ。
例えば、
http://01ken.com/t401.html
こんな感じに書けばいいんじゃないかと。これは左の単語に反応して右の文章が出力
されるというものです。僕も困ってるんですよ。協力者が少なくて。質問などが
あれば聞きます。
738アンスタ7.5日目 ◆mqSs/N.hZs
2020/07/23(木) 17:32:50.81ID:otdPxTIk >>737
お誘いはありがたいのですが
ようやくAndroid studioでプログラミングを始めたばかりで
レベルが違いすぎて困惑しております
それは第2次AIブームの膨大な知識入力作業のアルバイトと言う事でしょうか?
残念ながらタッチタイピングは120文字/分くらいで全く早くありませんので向いていないと思います
お誘いはありがたいのですが
ようやくAndroid studioでプログラミングを始めたばかりで
レベルが違いすぎて困惑しております
それは第2次AIブームの膨大な知識入力作業のアルバイトと言う事でしょうか?
残念ながらタッチタイピングは120文字/分くらいで全く早くありませんので向いていないと思います
740デフォルトの名無しさん
2020/08/14(金) 15:14:38.85ID:qHTqJOgh 上にでてるタートルグラフィックやってみてるんだけど
再描画してしまうと1歩目の道筋が消えてしまう・・・
結局、配列使ってX歩目までの道筋を全部記憶させてループの度にすべての道筋を再描画させるという荒業しかできんかった。
どうやったら前の絵を残したまま追加で描画できるんでしょ
再描画してしまうと1歩目の道筋が消えてしまう・・・
結局、配列使ってX歩目までの道筋を全部記憶させてループの度にすべての道筋を再描画させるという荒業しかできんかった。
どうやったら前の絵を残したまま追加で描画できるんでしょ
741デフォルトの名無しさん
2020/08/14(金) 19:58:21.90ID:qHTqJOgh >>429の事言ってたんだがタートルグラフィックってこれのことじゃなかったのか
タートルグラフィックは普通に一気に線描かれるのでいいや
タートルグラフィックは普通に一気に線描かれるのでいいや
742蟻人間 ◆T6xkBnTXz7B0
2020/08/15(土) 00:05:35.90ID:WlDMeHFc ビットマップというのを使えば、画像として保存できる。サイズ調整がややこしいけどね。
743デフォルトの名無しさん
2020/08/15(土) 11:06:08.75ID:MdgQ6bll こんなやりかたあったんだ
実際にやってみて思ったけど、画像として保存したらそれはそれで過去の線の座標が一切わからなくなるな
お手軽ではあるけど、ちゃんと考えて使い分けた方がよさそう
あとサイズはonWindowFocusChangedの中でなら問題なくレイアウトで指定したサイズでとれてそうだけど、
これメソッドどのタイミングで呼ばれてるのかよくわからん。
ライフサイクルとかいうやつの中にも入ってないし、そもそもonStartメソッド作っても呼ばれない。
でも感覚的にはStartとほぼ同じなんかな
https://www.cs.dartmouth.edu/~campbell/cs65/lecture05/images/lifecyclediagram.png
実際にやってみて思ったけど、画像として保存したらそれはそれで過去の線の座標が一切わからなくなるな
お手軽ではあるけど、ちゃんと考えて使い分けた方がよさそう
あとサイズはonWindowFocusChangedの中でなら問題なくレイアウトで指定したサイズでとれてそうだけど、
これメソッドどのタイミングで呼ばれてるのかよくわからん。
ライフサイクルとかいうやつの中にも入ってないし、そもそもonStartメソッド作っても呼ばれない。
でも感覚的にはStartとほぼ同じなんかな
https://www.cs.dartmouth.edu/~campbell/cs65/lecture05/images/lifecyclediagram.png
744デフォルトの名無しさん
2020/08/15(土) 11:07:12.29ID:MdgQ6bll745デフォルトの名無しさん
2020/08/16(日) 00:20:29.48ID:jJBt4Vqs 枝の長さをランダムにすると、下のような自然界の木のような図が得られる
らしいからそのまま枝の長さランダムにしたら化け物みたいな木しか生まれないんだが
https://i.imgur.com/uBegWvn.png
何分岐目までかはランダムにとかできるのかな
どう工夫しよう
らしいからそのまま枝の長さランダムにしたら化け物みたいな木しか生まれないんだが
https://i.imgur.com/uBegWvn.png
何分岐目までかはランダムにとかできるのかな
どう工夫しよう
746蟻人間 ◆T6xkBnTXz7B0
2020/08/16(日) 12:49:16.77ID:GwA/W8AI747デフォルトの名無しさん
2020/08/16(日) 17:02:08.02ID:49vpKD70 単純に3度目の再帰までとすると一番左側の枝だけランダムになってたから困ってた
イメージとしては初めから3つ目ぐらいまでの枝をランダムにすれば思ってた絵ができるのかと思ってた
だから再帰させる回数-残りの再帰回数が3以下の枝だけランダムにしてみたけど、思ってたのと違う絵ができた
よく考えてみれば単純に再帰させる回数をそのまま乱数の最大値とすれば、
枝の先にむけて徐々に短くなりつつ、かつバラバラの枝の長さを実現できた
https://i.imgur.com/nteQ01q.gif
イメージとしては初めから3つ目ぐらいまでの枝をランダムにすれば思ってた絵ができるのかと思ってた
だから再帰させる回数-残りの再帰回数が3以下の枝だけランダムにしてみたけど、思ってたのと違う絵ができた
よく考えてみれば単純に再帰させる回数をそのまま乱数の最大値とすれば、
枝の先にむけて徐々に短くなりつつ、かつバラバラの枝の長さを実現できた
https://i.imgur.com/nteQ01q.gif
748蟻人間 ◆T6xkBnTXz7B0
2020/08/16(日) 18:04:01.19ID:GwA/W8AI アプリ公開しないの?
749デフォルトの名無しさん
2020/08/16(日) 19:33:54.97ID:49vpKD70 さすがにまだ公開するようなレベルのもの作れてないし、するにしてもあと2,3本ぐらい毛生やしたいかな
とりあえず何かしら公開はしてみたい気はある
とりあえず何かしら公開はしてみたい気はある
750デフォルトの名無しさん
2020/08/16(日) 23:00:05.38ID:49vpKD70751デフォルトの名無しさん
2020/08/18(火) 21:29:34.17ID:HLO+tc8S 枝も葉っぱも追加するのが難しくて追加できない・・・
というかこれ以上拡張してもしょうがないしなぁ、
何か別のもの作るにしてもアプリ公開したいとは思ってるもののアイデアもないし
一番の悩みどころってここだよな
はじめから力みすぎもよくないのだが
というかこれ以上拡張してもしょうがないしなぁ、
何か別のもの作るにしてもアプリ公開したいとは思ってるもののアイデアもないし
一番の悩みどころってここだよな
はじめから力みすぎもよくないのだが
752蟻人間 ◆T6xkBnTXz7B0
2020/08/18(火) 22:42:59.16ID:JxDgwCYh 役に立つことにこだわらなくてもいい。
見て楽しむだけのアプリでも、エンターテインメントアプリとして通用する。
そろそろリリースしてもいいんじゃね。
見て楽しむだけのアプリでも、エンターテインメントアプリとして通用する。
そろそろリリースしてもいいんじゃね。
753デフォルトの名無しさん
2020/08/19(水) 20:36:53.90ID:2IA7raUI 確かに減るもんじゃないしリリースするのも悪くないな
でも最低でも背景と風力調整できるバーはつけておきたい
あと実機でも確認しておきたいからandroidのスマホ買わないと
ていうか新しく公開されたアプリはどうやって他人に認知されてるの?
有名所なら広告で宣伝なりするだろうけど、それ以外で広告もないのに一時的にでもインストール数が増えるのって誰がどこで見つけてるのかな?
単純に気になる
でも最低でも背景と風力調整できるバーはつけておきたい
あと実機でも確認しておきたいからandroidのスマホ買わないと
ていうか新しく公開されたアプリはどうやって他人に認知されてるの?
有名所なら広告で宣伝なりするだろうけど、それ以外で広告もないのに一時的にでもインストール数が増えるのって誰がどこで見つけてるのかな?
単純に気になる
754蟻人間 ◆T6xkBnTXz7B0
2020/08/19(水) 20:45:36.55ID:FObCC8uF Google Playってところに登録すれば、テキストベースで検索されて、ユーザに発見されるかも知れない。
それが嫌なら、前述のAPKPureに登録するか、ホームページにリンクを貼って野良アプリとしてAPKをリソースすることになる。
それが嫌なら、前述のAPKPureに登録するか、ホームページにリンクを貼って野良アプリとしてAPKをリソースすることになる。
755蟻人間 ◆T6xkBnTXz7B0
2020/08/19(水) 20:52:51.95ID:FObCC8uF Web広告とか、テレビCMとか、街宣とか、自社サービスに紐付けとか、そんな感じ。グループ会社なら社員全員ユーザもありえる。
マネーや人脈に余裕がなければ、SEO技術に頼ることになる。とりあえずホームページかブログを制作して、それを検索エンジンに登録するところから始めるしかない。
マネーや人脈に余裕がなければ、SEO技術に頼ることになる。とりあえずホームページかブログを制作して、それを検索エンジンに登録するところから始めるしかない。
756蟻人間 ◆T6xkBnTXz7B0
2020/08/19(水) 20:54:59.76ID:FObCC8uF アプリのダウンロード数をブーストするという裏ワザもあるが、それはダークサイドなんで説明しない。。。
757蟻人間 ◆T6xkBnTXz7B0
2020/08/19(水) 21:13:45.08ID:FObCC8uF 「APKリリース方法」で検索!
758デフォルトの名無しさん
2020/08/19(水) 21:49:11.02ID:2IA7raUI 無名でなんも対策うってなかったらインストール数0で当たり前って感じだな
目的は金だからなぁ、いずれはちゃんとした対策も考えないとな・・・
その裏技は頭の片隅にでも置いとく
目的は金だからなぁ、いずれはちゃんとした対策も考えないとな・・・
その裏技は頭の片隅にでも置いとく
759蟻人間 ◆T6xkBnTXz7B0
2020/08/19(水) 21:51:35.95ID:FObCC8uF アプリ公開する前にいくつか注意しておく。
IDかパスワードを忘れたら即死。
プラットフォームに嫌われたら一生Banされる。
規約は絶対に守る。
逆コンパイラ対策(難読化)を忘れるでない。
IDかパスワードを忘れたら即死。
プラットフォームに嫌われたら一生Banされる。
規約は絶対に守る。
逆コンパイラ対策(難読化)を忘れるでない。
760蟻人間 ◆T6xkBnTXz7B0
2020/08/19(水) 21:55:13.50ID:FObCC8uF 簡単過ぎるパスワードはハックされる、
も追加。パスワードは8文字以上にしようや。
も追加。パスワードは8文字以上にしようや。
761蟻人間 ◆T6xkBnTXz7B0
2020/08/19(水) 22:10:08.19ID:FObCC8uF プラットフォームはお金の流れに神経質になっている。Epicというゲーム会社がAppleの規約に反するお金の流れを作ろうとしたので、ゲーム市場から締め出されてしまった。
規約はよく読もうぜ。弁護士を雇おう。
規約はよく読もうぜ。弁護士を雇おう。
762デフォルトの名無しさん
2020/08/19(水) 22:15:01.03ID:2IA7raUI 一生BANってえげつないな
apk公開と聞いて俺も真っ先に検索したのが逆コンパイル、ツール自体は簡単に手に入りそうだしやっぱり対策しといたほうがいいのか・・・
適当に作って適当に公開ってわけにもいかないんだな
まだすぐには公開しないけど次々と問題が出てきた
apk公開と聞いて俺も真っ先に検索したのが逆コンパイル、ツール自体は簡単に手に入りそうだしやっぱり対策しといたほうがいいのか・・・
適当に作って適当に公開ってわけにもいかないんだな
まだすぐには公開しないけど次々と問題が出てきた
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国航空会社、日本行き減便900便超に拡大 関空中心に全体の16% [蚤の市★]
- 住宅ローン金利、大手4行で「最高水準」に…10年固定の基準金利4.40-5.15% [蚤の市★]
- 【ヒグマ】焼却施設が限界 駆除数17倍で処理に追われる自治体 1頭焼却に灯油100リットル 作業追いつかずに腐敗進み、埋めるケースも [ぐれ★]
- 今後50年間、毎年100万人ずつ人口が減る…「少子化対策」の失敗で日本が迎える「死ぬまで搾取」というヤバい未来 ★7 [ぐれ★]
- 「怒りに震えて涙が出た」 同性婚認めず「合憲」判断に原告が反発 「差別的な判決だ」 ★3 [ぐれ★]
- 【音楽】レミオロメンが謎のカウントダウンを開始 バンド結成日に何かを予感させる動き… [少考さん★]
- 高市応援団、急に消える。一体何故🤔 [256556981]
- 【悲報】VTuber、朝7時に通勤は大事なものを失ってるとポストして炎上
- お好み焼き食べない? ★2
- 今泣いて何年か後の自分🌃💃🏻🏡
- ヤベーさっき一瞬だけ常世連れてかれた
- 【悲報】吉田正尚(32)さん、レッドソックス来季構想外か
