編輯:關於Android編程

--[[
ClickAndMoveTest.lua
點擊與移動
]]--
-- 獲取屏幕尺寸
local size = cc.Director:getInstance():getWinSize()
local layer = nil -- 層
local kTagSprite = 1 --精靈標記
local function initWithLayer()
local sprite = cc.Sprite:create(s_pPathGrossini)
-- 添加顏色層,黃色
local bgLayer = cc.LayerColor:create(cc.c4b(255,255,0,255))
layer:addChild(bgLayer, -1)
-- 添加
layer:addChild(sprite, 0, kTagSprite)
-- 設置精靈位置到(20,150)
sprite:setPosition(cc.p(20,150))
-- 執行跳的動作,第一個參數為持續時間,第二個參數為位置,第三個參數為跳的高度,第四個參數跳的次數
sprite:runAction(cc.JumpTo:create(4, cc.p(300,48), 100, 4))
-- 背景層執行無限重復的動作序列,先淡進,再淡出
bgLayer:runAction(cc.RepeatForever:create(cc.Sequence:create(
cc.FadeIn:create(1),
cc.FadeOut:create(1))))
-- 觸摸開始
local function onTouchBegan(touch, event)
return true
end
-- 觸摸結束
local function onTouchEnded(touch, event)
-- 獲取點擊位置
local location = touch:getLocation()
-- 根據標記獲取子節點
local s = layer:getChildByTag(kTagSprite)
s:stopAllActions()-- 停止所有動作
-- 執行移動動作,移動到點擊的位置
s:runAction(cc.MoveTo:create(1, cc.p(location.x, location.y)))
local posX, posY = s:getPosition() -- 獲取精靈的位置
local o = location.x - posX -- X軸的距離
local a = location.y - posY -- Y軸的距離
local at = math.atan(o / a) / math.pi * 180.0 --求角度 ,反正切函數求弧度/π*180.0
--1弧度= 180/π, 1度=π/180
-- 點擊位置在下邊
if a < 0 then
-- 點擊位置在左邊
if o < 0 then
at = 180 + math.abs(at)
else
-- 點擊位置在右邊
at = 180 - math.abs(at)
end
end
-- 執行旋轉的動作
s:runAction(cc.RotateTo:create(1, at))
end
-- 單點觸摸的監聽器
local listener = cc.EventListenerTouchOneByOne:create()
-- 注冊兩個回調監聽方法
listener:registerScriptHandler(onTouchBegan,cc.Handler.EVENT_TOUCH_BEGAN )
listener:registerScriptHandler(onTouchEnded,cc.Handler.EVENT_TOUCH_ENDED )
local eventDispatcher = layer:getEventDispatcher()-- 時間派發器
-- 綁定觸摸事件到層當中
eventDispatcher:addEventListenerWithSceneGraphPriority(listener, layer)
return layer
end
--------------------------------
-- Click And Move Test
--------------------------------
function ClickAndMoveTest()
cclog("ClickAndMoveTest")
local scene = cc.Scene:create()
layer = cc.Layer:create()
initWithLayer()
scene:addChild(layer)
scene:addChild(CreateBackMenuItem())
return scene
end
-- 單點觸摸的監聽器
local listener = cc.EventListenerTouchOneByOne:create()
-- 注冊兩個回調監聽方法
listener:registerScriptHandler(onTouchBegan,cc.Handler.EVENT_TOUCH_BEGAN )
listener:registerScriptHandler(onTouchEnded,cc.Handler.EVENT_TOUCH_ENDED )
local eventDispatcher = layer:getEventDispatcher()-- 時間派發器
-- 綁定觸摸事件到層當中
eventDispatcher:addEventListenerWithSceneGraphPriority(listener, layer)
android顯示TextView文字的倒影效果實現代碼
今天記錄一下TextView的倒影效果,顯示一串文字,然後在文字的下方顯示出它的倒影,先上效果圖:最重要的就是View中getDrawingCache()方法,該方法可以
android自定義開關控件-SlideSwitch的實例
iphone上有開關控件,很漂亮,其實android4.0以後也有switch控件,但是只能用在4.0以後的系統中,這就失去了其使用價值,而且我覺得它的界面也不是很好看。
Android安全機制——操作系統安全機制-進程、用戶與文件安全
1.進程,線程2.多用戶,多用戶邊界(確定用戶可操作,訪問的資源,文件,可執行的操作)3.進程與文件都是用UID,GID來區分用戶,用rwx來區分操作,進程與文件通過ui
Android自定義View實現shape圖形繪制
概述之前曾寫過一篇文章介紹了Android中drawable使用Shape資源,通過定義drawable中的shape資源能夠繪制簡單的圖形效果,如矩形,橢圓形,線形和圓