全くの初心者です。たぶん基本的なことについての質問だと思います。

230 views
Skip to first unread message

T IMUTA

unread,
Dec 29, 2013, 11:36:12 AM12/29/13
to coro...@googlegroups.com

サイトや本を読んでもあまり理解できないことが多いくらい初心者です。よろしくお願いします。


質問がいくつかあります。
①描写オブジェクトを削除する際、newGroup関数を用いる以外に削除する方法はありますか?
②時間の経過につれて値を変化させるにはどうしたらよいですか?
例えば、一時間に1 値が増える(アプリを閉じていた場合でも)
③main.luaから他の画面に遷移したのち、main.luaに戻るにはどうしたらよいですか?
また、画面の消し方を教えてください。

手間をかけますが、回答よろしくお願いします!

naoya yamamoto

unread,
Dec 30, 2013, 11:02:46 PM12/30/13
to 日本コロナの会
①描画オブジェクト自身の削除で、object::removeSelfがあります

②時間関数 os.date を使えばよいのでは。アプリ起動時に確認。

③の画面遷移ですが、main.luaに関数を作って、その関数を他の画面にモジュール((.lua)から呼べばよいのでは。
または画面遷移はstoryboardのAPIを使ってみるとよいと思います。

山本


2013年12月30日 1:36 T IMUTA <clo....@gmail.com>:
--
--
このメールは次の Google グループの参加者に送られています: 日本コロナの会
このグループにメールで投稿: coro...@googlegroups.com
このグループから退会する: coronaja+u...@googlegroups.com
その他のオプションについては、次の URL からグループにアクセスしてくださ
い。 http://groups.google.co.jp/group/coronaja?hl=ja
--------------------------------------------------------------------------
http://twitter.com/JapanCoronaGrp
 
---
このメールは Google グループのグループ「日本コロナの会」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、coronaja+u...@googlegroups.com にメールを送信します。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。

T IMUTA

unread,
Jan 1, 2014, 1:52:52 PM1/1/14
to coro...@googlegroups.com
回答ありがとうございます!
①のobject:removeSelfは見落としていました!

ボタンを押すと文字が表示され、数秒後に削除されるようにしたいのですが
下記のようにしたら文字が表示されませんでした。この場合どのようにしたらいいですか?

local _W = display.contentWidth
local _H = display.contentHeight


local gbot = display.newRect(_W/2+5,_H-100,150,45)


function gbot:tap(event)
 local aiueo = display.newText("あいうえお",_W*2/3,_H/3,nil,10)
 timer.performWithDelay(2000,aiueo:removeSelf())
 return true
end

gbot:addEventListener("tap",gbot)




②はリンク先のwebページは表示されず、使い方がわかりませんでした。

③は、やってみます。ありがとうございます。

よろしくお願いします!

naoya yamamoto

unread,
Jan 1, 2014, 8:36:27 PM1/1/14
to 日本コロナの会
新年明けまして、おめでとうございます。

②時間関数 os.date を使えばよいのでは。アプリ起動時に確認。

↑ htmlのlがかけていましたので、これで表示できると思います。


誤 timer.performWithDelay(2000,aiueo:removeSelf())
正 timer.performWithDelay(2000,function() aiueo:removeSelf() end)

ちょっと見た限りでは、これで動くのでは。

山本

2014年1月2日 3:52 T IMUTA <clo....@gmail.com>:

--

T IMUTA

unread,
Jan 4, 2014, 4:09:51 AM1/4/14
to coro...@googlegroups.com
あけましておめでとうございます!

①は無事出来ました!ありがとうございます

②のos.date()の使い方がわかりませんでした。
起動時にもアプリを使っている最中にも
一分ごとに1増やすようにしたいのですがどう書けばいいですか?

naoya yamamoto

unread,
Jan 5, 2014, 9:56:11 AM1/5/14
to 日本コロナの会
>一分ごとに1増やす

いうなれば時計ですよね、ほかにもググるといろいろ出てくると思います。
http://thatssopanda.com/corona-sdk-tutorials/creating-a-clock-with-corona-sdk/


山本


2014年1月4日 18:09 T IMUTA <clo....@gmail.com>:

--

T IMUTA

unread,
Jan 5, 2014, 12:25:51 PM1/5/14
to coro...@googlegroups.com
日時を取得することはできるのですが、思うように扱うことができません。

一応下に自分で作ったものを張りました


「ボタン(dbot)をタップするとxxが1以上10以下の時xxは1下がる。
また、xxが10になるまで、xxが毎秒1ずつ増える」
というようなものを作りたかったのですが

たぶんこれでは現時刻の秒数をそのまま足してしまう形になってしまうと思います
(※実際にしてみるとエラーが出て全く使えませんでしたが)


どのようにしたら1ずつ増やすことができますか?面倒をかけますがお願いします。

--main.lua

local _W = display.contentWidth
local _H = display.contentHeight
--ボタン
local dbot = display.newRect(_W/2+5,_H-100,150,45)
--値
local xx = 10
--値表示
local xxtx = display.newText(xx,20,70,nil,20)

--dbotをタップしてxxが1以上10以下の時xxは1下がる
function dbot:tap(event)
 if xx>=1 and xx<=10 then 
  xx=xx-1
  xxtx:removeSelf()
  local xxtx = display.newText(xx,20,70,nil,20)
 end
end
dbot:addEventListener("tap",dbot)

--xxが10になるまで、xxが毎秒1ずつ増える
local function updateCLock(e)  
    if xx<9 then
     local currentTime = os.date("*t")
     xx= xx+currentTime.sec
     xxtx:removeSelf()
     local xxtx = display.newText(xx,20,70,nil,20)
    end 
end
updateCLock()
timer.performWithDelay(1000, updateCLock, 0)

naoya yamamoto

unread,
Jan 5, 2014, 8:42:43 PM1/5/14
to 日本コロナの会

xxが毎秒1ずつ増やすだけなら、1秒毎performWithDelayのタイマーを呼んでいるので、単純に1を足す。

local function updateCLock(e)  
     xx= xx+1
end 
timer.performWithDelay(1000, updateCLock, 0)

アプリが終了したのちに、次の起動まで何日何時間経過しましたならば、終了時の日付を保存しておいて、
起動時の日付を比べる必要があるかとおもいます。

また時間の単位がミリ秒で話しをしたい場合は、system.getTimerのほうがよいのでは。enterFrameのタイマーでチェックする。

実現したいことを明確にしてもらったほうが、お答えしやすいです。
一時間に1 値が増える(アプリを閉じていた場合でも)

一分ごとに1増やす

「xxが10になるまで、xxが毎秒1ずつ増える」

山本


2014年1月6日 2:25 T IMUTA <clo....@gmail.com>:

--

T IMUTA

unread,
Jan 6, 2014, 1:37:32 AM1/6/14
to coro...@googlegroups.com
すいません、同じ意かと思って話を簡単にするつもりで違う例えを出してしまいました。
実際には
「1分ごとに10ずつ増やす(※100になるまで※アプリを閉じていても開いていても)」
というようにしたいです。


アプリが終了したのちに、次の起動まで何日何時間経過しましたならば、終了時の日付を保存しておいて、
起動時の日付を比べる必要があるかとおもいます。

→アプリを使っている側が保存という操作をしなくても終了時に自動的に保存することはできますか?
保存できたとして、どのようにして起動時の日付と比べればいいでしょうか。
日付を20140106153106として差を取ったとしても時間を10進数の値に直せずおかしなことになってしまいます。

naoya yamamoto

unread,
Jan 6, 2014, 8:28:37 PM1/6/14
to 日本コロナの会
applicationExitというsystemイベントがあります。こでアプリ終了が分かります。

http://coronalabs.com/blog/2012/07/17/using-system-events-to-save-app-state/

何日何時間経過のために差を見るならば、下記のリンクで解説されている os.timeがよいのでは。


山本


2014年1月6日 15:37 T IMUTA <clo....@gmail.com>:

--

T IMUTA

unread,
Jan 10, 2014, 1:32:26 AM1/10/14
to coro...@googlegroups.com
ありがとうございます。難しそうですがやってみます!
なんども回答ありがとうございました!!

T IMUTA

unread,
Jan 26, 2014, 1:59:07 PM1/26/14
to coro...@googlegroups.com
最近corona sumilatorを更新したのですが
更新してから描画の位置がいろいろずれてしまい
おかしなことになりました。

これはどうしてでしょうか。
また、これは再度ひとつひとつ微調整しなくてはならないのでしょうか?


無題.png

Tetsuo Ono

unread,
Jan 26, 2014, 6:37:01 PM1/26/14
to coro...@googlegroups.com
こんにちは

以前は、オブジェクトの原点がオブジェクトの左上として表示位置を指定していたのですが、
現在のCoronaSDKのバージョンではオブジェクトの中央をオブジェクトの原点として位置を指定するように変わっています。

calm design
小野哲生


2014年1月27日 3:59 T IMUTA <clo....@gmail.com>:

tkyaji

unread,
Jan 26, 2014, 7:14:15 PM1/26/14
to coro...@googlegroups.com
はじめまして。

Graphicsというモジュールのバージョンが1.0から2.0に上がり、
ReferencePoint周りの実装が結構変わっているようですね。
変更点は以下に記載されています。
http://docs.coronalabs.com/guide/graphics/migration_g20.html

1.0と同じ動作にしたい場合は、config.luaに
graphicsCompatibility = 1
と記載すれば良いようなので、とりあえずはこの対応で良いかと思います。
graphicsCompatibilityの設定は以下を参考にして下さい。
http://docs.coronalabs.com/guide/graphics/migration_v1.html


以上、よろしくお願いします。

T IMUTA

unread,
Jan 27, 2014, 12:55:22 PM1/27/14
to coro...@googlegroups.com
ありがとうございます!
config.luaにgraphicsCompatibility = 1 と入れたら元に戻りました!

新しいバージョンはよく分からないので、1を使っていこうと思います。ありがとうございました!!

T IMUTA

unread,
Feb 23, 2014, 2:42:45 AM2/23/14
to coro...@googlegroups.com
質問が出ました!


下のコードについてです。

ボタンを押すと、文字が表示され、数秒すると消えるように書きました。

これを、文字が表示されている途中はボタンを押してもさらに文字が表示しないようにしたいのですが
どのように書けばよいでしょうか?

よろしくお願いします!!

_________________________________

-- main.lua

local _W = display.contentWidth
local _H = display.contentHeight

local obot = display.newRect(100,100,100,100)

function obot:tap(event)
 local aaa = display.newText("あいうえお",_W/2,_H/2,nil,20)
 timer.performWithDelay(2000,function() aaa:removeSelf() end)
 return true
end
obot:addEventListener("tap",obot)

T IMUTA

unread,
Mar 2, 2014, 10:11:26 PM3/2/14
to coro...@googlegroups.com
上の件、解決しました!


しかし今日、bgmなどをいじっていたとこと
Warning: audio error: Already initializedWarning:audio.loadSouate sound(音楽ファイル名)
とCorona Simulator Outputに表示され音が鳴らなくなってしまいました。
どうにか直せないでしょうか?よろしくお願いします!

T IMUTA

unread,
Mar 2, 2014, 10:27:27 PM3/2/14
to coro...@googlegroups.com
また、これと合わせて質問なのですが
corona SDKでは画像を反転させて表示させることは可能でしょうか?
時々反転させてアニメーションのようにしようと思ったのでですが。
Reply all
Reply to author
Forward
0 new messages