拾弐 Cocos2d-xでデータを保存する 読み出す
目次
1 はじめに
2 データを保存する 読み出す
3 今後の予定
はじめに
データを保存する 読み出す
下記コードを実行すると、タッチ回数が左上に表示され、アプリを再起動時に、保存されたタッチ回数を読み出すことができます。
local KEY = "SCORE"
local GameScene = class("GameScene",function()
return cc.Scene:create()
end)
function GameScene.create()
local scene = GameScene.new()
scene:addChild(scene:createLayer())
return scene
end
function GameScene:ctor()
self.visibleSize = cc.Director:getInstance():getVisibleSize()
self.origin = cc.Director:getInstance():getVisibleOrigin()
self.schedulerID = nil
end
function GameScene:playBgMusic()
end
function GameScene:createLayer()
local layer = cc.Layer:create()
-- 背景
local sprite_background = cc.Sprite:create("farm.jpg")
sprite_background:setPosition(self.visibleSize.width/2, self.visibleSize.height/2)
sprite_background:setScale(1.2)
layer:addChild(sprite_background)
-- a1)保存されている"SCORE"の値を取得 ない場合は0
local score = cc.UserDefault:getInstance():getIntegerForKey(KEY, 0)
-- 得点ラベルを追加
local label = cc.Label:createWithSystemFont(score, "Arial", 50)
label:setPosition(100,900)
layer:addChild(label)
-- タッチ開始時に呼ばれる
local function onTouchBegan(touch, event)
local location = touch:getLocation()
-- 得点を1足して得点表示を更新
score = score + 1
label:setString(score)
-- a2)得点情報を"SCORE"に保存する
cc.UserDefault:getInstance():setIntegerForKey(KEY, score)
return true
end
-- タッチイベントで呼ばれる関数を登録し、このレイヤーでのタッチイベント取得を有効化
local listener = cc.EventListenerTouchOneByOne:create()
listener:registerScriptHandler(onTouchBegan,cc.Handler.EVENT_TOUCH_BEGAN )
local eventDispatcher = layer:getEventDispatcher()
eventDispatcher:addEventListenerWithSceneGraphPriority(listener, layer)
return layer
end
return GameScene
a1)のcc.UserDefault:getInstance():getIntegerForKey(KEY, 0)
が保存された値を読み出すAPIです。ここでKEYの部分は任意の文字列を指定できます。ここでは"SCORE"を指定しています。また、第二引数の0は、保存された値がないときに返されます。つまり、"SCORE"の値を読み出せ、但し保存された値がない場合は0を返せ、という意味です。
a2)cc.UserDefault:getInstance():setIntegerForKey(KEY, score)
で"SCORE"の値を保存しています。第二引数の値が"SCORE"の値として保存されます。
初回起動時は、左上の表示が0ですが、
何回か画面をタッチしてから、再度起動すると、保存されたタッチ回数が起動時にすぐ表示されます。
今後の予定
Cocos2d-xでゲームを作るときに有用な、表示桁数の指定や、時間の取得を行う等、いくつかのLuaの関数について説明します。
Author And Source
この問題について(拾弐 Cocos2d-xでデータを保存する 読み出す), 我々は、より多くの情報をここで見つけました https://qiita.com/CasualGameDev/items/be471279fbbebb9ec201著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .