2016년 11월 6일 일요일

[Cocos2d-x 소식]Cocos Creator 1.3.1 released!

http://discuss.cocos2d-x.org/t/cocos-creator-1-3-1-released/33178

저번에 썼던 포스팅에서 코코스 크리에이터 1.3.1버전이 업데이트 될 거라고
올렸었는데 금방 릴리즈 되었네요.
(그전 글: https://pineoc.blogspot.kr/2016/11/cocos2d-x-cocos-creator-v13.html )

주 업데이트 내용은 아래와 같습니다.
  • Rich text support
  • Dragon Bones skeleton animation support
  • Prefab automatic synchronization
  • Automatically packaging textures to Atlas
  • Added UI controls: PageView, Toggle, ToggleGroup, Slider
  • New AudioEngine

- RichText 지원
- '드래곤 본'이라는 스켈레톤 애니메이션 에디팅 툴 지원
- 프리팹 자동 동기화 지원
- 몇몇 UI 컨트롤 추가, 페이지뷰, 토글, 토글 그룹, 슬라이더에 대한 컨트롤
- 새로운 AudioEngine(cc.AudioEngine을 리팩토링함)

아래는 변경사항에 대한 전체로그입니다.
v1.3.0 and v1.3.1 Full Changelog:
Editor
  • [Doc] Creator manual document has been open-sourced, the English version of the document is still lack of content updates compare to the Chinese version. Please join us for corrections, completion and translation at https://github.com/cocos-creator/creator-docs5
  • [Installer] Windows installation package has added Visual Studio 2015 installation options
  • [Build] Add Android API Level selection menu to build panel, all available API Levels will be listed according to SDK directory the user specified. The resulting project will have all related API Level settings updated automatically.
  • [Build] Add command and option to build projects using the CLI.
  • [Build] Add Android Studio support for the binary template
  • [Build] Fixes the problem that the screens orientation setting in the build panel do not take effect when the game is launched the first time on Web platform
  • [Build] The keystore password for the android platform is now displayed in a masked password format
  • [Build] Fixed in the Mac system when the project has large amount of assets, there may be too many open files error reported problem
  • [Build] Fixed build error when plugin scripts are in the resources directory.
  • [Build] Fixed generated application name not correct when building Android Studio project issue.
  • [Build] When the engine path has space, the building process will give proper error message now.
  • [Build] Build to iOS platform projects now adds Xcode 8 support
  • [Assets] Add the function of automatic Atlas packaging, you need to create a AutoAtlas asset in the folder that stores seperated SpriteFrame assets. During building process the contents in the folder will be packed into an Atlas.
  • [Assets] Added a thumbnail icon display for the SpriteFrame resource in Atlas
  • [Assets] Optimized SpriteFrame asset in Atlas thumbnail icon generation logic, to solve process stuck problem when there are too many SpriteFrame assets indexed at the same time.
  • [Assets] Fixed the problem of repeatedly triggering compile operations when importing a large amount of scripts
  • [Assets] Add uuid search function to Assets panel, enter u: xxxxx to search assets with uuid
  • [Assets] In Assets panel, add a right-click menu Find Usages to filter the tree with only assets (scene, prefab and clip) that referenced the item clicked on.
  • [Assets] Provide more explicit description for importing custom asset errors
  • [Properties] Fixed a problem where the tooltip does not display on the array and object properties
  • [Properties] Fixed an error that cause reset node operation not taking effect.
  • [Properties] Fixed an issue where the error message and reset button were not displayed correctly when the attribute type and the bound data were not matched.
  • [Console] clear button will not clear compiler error now.
  • [Editor] Fixed a problem with Creator crashing on some Windows 10 system
  • [Editor] Fixed an issue that compile error messages may stay in console panel even when compile error is gone
  • [Editor] Fixed an issue where the undo command does not trigger a scene change when restoring a null-valued property
  • [Editor] Fixes the initial scene settings in the Project Settings panel does not take effect when running simulator
  • [Editor] Fixed undo / redo operation on windows may randomly failed issue.
  • [Editor] If plugin script contains ES6 syntax, add an error when building.
  • [Editor] Added the command line argument --mount to specify the external resource path. (You can use multiple --mount parameters to mount multiple paths, parameter values can be absolute path or relative to the relative path of the project). You can also use parameter --writable to specify whether allow saving the external resource changes.
  • [Editor] Use a new graphic processing library, to solve the problem process crash when importing oversized texture (8192x8192), and enhanced the image processing speed
  • [Editor] Fixed a bug that caused the build to fail when all the pictures in the project went into the AutoAtlas
  • [Editor] Fixed an issue where changes made to Sliced Sprite can not be previewed immediately in editor.
  • [Editor] Fixed a problem when closing a window by Cmd / Ctrl + Q would cause an error
  • [Editor] Adds the option to choose whether a plugin script should be packed into the build on the native or Web platform.
  • [Scene] Fixed an issue when saving a scene would cause the node's fold state to be reset in the Node Tree panel.
  • [Scene] Fixed a problem that after continuing to preview the particles for a while and then panning the scene view will cause the editor to work very slow.
  • [Prefab] Fixes various auto-sync Prefab display problems
  • [Prefab] Fixes nested auto-sync prefab will cause the scene unable to open issue.
  • [Dashboard] fixes when cancel the operation of `open other projects' will pop up error message issue.
  • [Node Tree] Fixes the problem of newly created node doesn't display highlight selection correctly.
  • [Node Library] Add newly added UI elements since v1.2

Engine

  • [Engine] cc.loader.release will now correctly remove the cache and its asset dependencies (such as texture, audio), while supporting the release of an assets array. Also add removeItem to remove only the cache and getDependsRecursively to get its own list of dependent assets (including itself).
  • [Engine] Fix the problem that on native platform 'setSiblingIndex' API may not work
  • [Engine] Fixed a bug in the mobile web platform that a forced landscape screen orientation might fail when first entering or switching scenes
  • [Engine] Fixed isScheduled in the Web platform always return false issue
  • [Engine] Fixed cc.loader.onProgress not callback correctly when sub-queue updates
  • [Engine] Fixed an issue where the acceleration parameters obtained by the Android platform might be the opposite of the actual one
  • [Engine] Fixed EventDispatcher binding error on native platform that can lead to random crash
  • [Engine] Limit the maximum number of concurrent downloader threads on all platforms, avoiding errors when loading too many resources at the same time
  • [Engine] Fixed a bug where the grayscale shader was not working
  • [Engine] Removed the warning of No need to release non-cached asset when loading the json asset with loadRes
  • [Engine] Fixed an issue where it was possible to send multiple requests to the web platform after merging the asset json
  • [Engine] systemEvent will now inherit EventTarget, and support to use cc.systemEvent.on / once / off to register or unregister system events. The needs to use the eventListener to monitor the keyboard and accelerometer events can now use on/off to register and unregister.
  • [Engine] Refactored cc.Loader to support independent load queues and better progress information. Solved issue to repeated load an asset when there are circular dependencies. Solved issue that may cause callback to fire synchronously.
  • [Engine] Loader provides a separate load task for each context, to solve the run-time JSON object can not be automatically released problem.
  • [Engine] Fixed an issue where the game was unable to respond to a click event while running the game on the Wechat desktop client
  • [Engine] Add touch-point timeout settings to solve the issue that in WeChat x5 core when slide your finger out of the screen multiple times will not trigger the touchcancel event, and cause the following touch interation failed. If you need to keep a stationary touch point for a long time, please manually modify the timeout setting TOUCH_TIMEOUT.
  • [JSB] refactor the JS-binding API to improve stability, binding API are now consistent with cocos2d-x 3.13.
  • [Audio] Upgrade sound engine to New AudioEngine, solve some of the sound compatibility issues in the previous versions
  • [Audio] Use cc.Loader to manage Audio memory, allowing the loader to completely release the Audio resource
  • [Audio] Fixed an issue where the AudioSource component will continue to play after switching scenes
  • [Action] fixes cc.flipX in the native platform will cause a crash

Components and modules

  • [DB] Adds the dragonBones component to support skeleton animation in DragonBones format
  • [Component] Add Slider component
  • [Component] Add the Toggle and ToggleGroup control components
  • [RichText] Added support for RichText components, using bbcode format tags, currently supports color, font size, bold, italic, image and click events
  • [PageView] Add PageView component
  • [TiledMap] Added support for ObjectGroup display
  • [TiledMap] Fixes the problem of undoing the deletion of a Tiledmap node will cause scene render incorrectly.
  • [TiledMap] Fixes a problem that using the tsx file in your tmx file may encounter render error issue.
  • [TiledMap] Fixes an error when you try to initialize the same TiledMap component with a different map resource
  • [TiledMap] Fixes the problem of seams between moving tiles in native engines
  • [TiledMap] Fixed a bug where the TiledLayer's setTileGID interface might have generated an error when passing insufficient parameters
  • [TiledMap] Fixes tile nodes acquired by cc.TiledLayer.getTileAt (), calling setVisible (false) in the canvas rendering mode reports error issue.
  • [Spine] Added 'premultipliedAlpha` to the Skeleton component to process the premultiplied image, which needs to be turned off when the transparent area of the image appears opaque. This option needs to be enabled when the translucent area of the image is darken.
  • [Spine] Upgrade spine runtime library, support 3.x version of the spine, fix the image premultiply mode display problem, support triangle rendering commands
  • [Button] Add Scale Transition, add button to resize button size to target node size
  • [Button] When the button interactable is set to false, if you do not set the corresponding disable state, will automatically use grayed out normal state sprite for disabled state.
  • [ScrollView] Change the mouse wheel operation of the desktop platform to more in line with the Windows operating system scrolling direction.
  • [Graphics] Fixed the problem of resetting the size of its own node when the user added the GGraphics component
  • [Graphics] Fixed a get / set warning for undefined properties
  • [Graphics] Fixes the need to call clear in the canvas twice to clear the contents of the painting
  • [Animation] Fixed an issue where the call to play was invalid in an animation event callback
  • [Animation] Fixes issue that playing animation from a specified frame, the animation events in previous frames will also be triggered.
  • [Collider] Fixed an issue where the node group property modified in onCollisionEnter could not be updated correctly
  • [Collider] Fixed an issue when new Circle Collider component was added to a node will cause error
  • [Widget] Fix CCWidgetManager will report error for _widget if the Scrollview size changes
  • [Widget] Fixed a bug in the Properties panel that the top andbottomcheckboxes disappears
  • [EditBox] Fixes an issue that EditBox does not work properly on macOS 10.12 Sierra
  • [EditBox] Fixes a bug that instantiating this component in a prefab and then setting placeholder will cause error
  • [EditBox] Add setFocus, stayOnTop property, when stayOnTop is true, you can set tabIndex to control the Tab key focus behavior. When you use the EditBox in Wechat's iframe, you need to set the stayOnTop property to true
  • [EditBox] modifies the behavior of the maxLength attribute. When set to 0, it disables user input. When set to -1, it does not limit the maximum length of the input character
  • [Label] Fixes issue that when string is set empty with Resize Height overflow mode will cause line wrap not work anymore.
  • [Label] Fixes adding Label component when the node is in non-activated state will cause debounce function report error issue.
  • [Label] Fixes the problem that the LabelOutline component has a wrong color when used with a TTF font
  • [VideoPlayer] Add the META_LOADED,CLICKEDandREADY_TO_PLAY events. Now toggle visible pauses the video and disable video playing if the video control is not visible. At the same time, unified web and jsb video behaviors.
  • [Component] Add a lifecycle callback, resetInEditor, which is called only the first time a component is added (this method will not be called if the scene is reloaded). In addition, this method will be called in the component menu after the reset call.
  • [Component] Add parameters for cc.Component.EventHandler, currently only allowed to pass in a string parameter

코코스 크리에이터로 한번 게임 만들어봐야겠네요 ㅎㅎ
코코스 진영에서 열심히 지원하고있는데,
코코스 크리에이터 에디터로 한번도 게임을 만들어보지를 않았네요.
모두 즐거운 개발!

2016년 11월 3일 목요일

[Cocos2d-x 소식] Cocos Creator v1.3 곧 출시

오늘도 찾아온 Cocos2d-x 소식!
이메일이 하나왔는데 며칠 뒤면 Cocos Creator v1.3가 업데이트 된다고 합니다.

현재 버전은 1.2.2 버전인데 마이너 버전이 2에서 3으로 올라가는군요.
업데이트에 관한 소식은 금방올라올듯 싶습니다.

이번 업데이트에서는 Cocos Creator가
그 전에는 Lua, Javascript 밖에 지원하지 않았는데 C++도 지원한다고하네요.
http://discuss.cocos2d-x.org/t/c-support-for-cocos-creator/32143

"Cocos Creator started out using only JavaScript as the language to develop in. However, Ricardo Quesada has been very busy adding c++ support. You can follow his progress in this forum thread"

Recardo Quesada 라는 분이 C++을 지원하기위해 열심히 개발하고 있답니다. (화이팅!)

Cocos2d-x 진영이 Cocos Creator를 밀어주려고 많이 개발하고 있는 것 같습니다.
유니티로 게임 개발이 쉽게 되는 것처럼 코코스 크리에이터로 게임 개발을 쉽게 하는 것을
목표로 하는 느낌입니다.

다음에는 업데이트가 되면 어떤게 업데이트가 되었는지 써야겠습니다.
해피코딩!

2016년 10월 27일 목요일

cocos2d-x "_iconv", referenced from: error

cocos2d-x "_iconv", referenced from:

이 에러는 제가 iOS 포팅 중에 Frameworks 폴더에 있는 링크가 깨져있는 파일들을 지우고
빌드해봤는데 에러가 나서 뭐가 문제일까 하고 찾아봤습니다.

http://discuss.cocos2d-x.org/t/-iconv-linker-error-help-resolved/27941

답은
Build Settings -> Other Linker Flags에
-liconv 를 추가해주시면 됩니다.

2016년 10월 26일 수요일

STOP!! Will reset deviceID from memory. 에러 해결

<FIRInstanceID/WARNING> STOP!! Will reset deviceID from memory.
환경
Xcode 8.0, iOS 10

이 에러는 iOS에서 Firebase를 사용했을때 로그에 나온다.
이번에 업데이트되면서 KeyChain에 대한 문제였는데

http://stackoverflow.com/questions/32986532/google-admob-is-not-working-with-cocoapods

스택오버플로우에 해답이 있다. 언제나 그랬듯이.

2016년 10월 13일 목요일

JekyII를 이용해서 GitHub Page를 블로그로 만들기



https://help.github.com/articles/using-jekyll-as-a-static-site-generator-with-github-pages/

이 홈페이지를 보고 만들었습니다.
차근차근 따라가다 보면 만들 수 있습니다.

<만들기>

* 준비물
- ruby 2.0.0+
- git

* 설치
(이미 깃헙 페이지가 생성되어있는다는 가정하에 진행하겠습니다.
깃헙 페이지 만들기 : https://pineoc.blogspot.kr/2016/03/make-githubio-page.html )

1. bundler 설치
$gem install bundler

2. Gemfile 만들기
이 파일은 jekyll을 설치하기 위한 makefile 같은 녀석인데
아래의 내용을 넣어주시면 됩니다.
source 'https://rubygems.org'
gem 'github-pages', group: :jekyll_plugins

3. bundle install 실행
$bundle install
이 명령어를 치면 설치가 진행됩니다.
여기까지가 jekyll 설치가 기본적으로는 완료되었습니다.
추가적으로 설치를 몇 개 더 하셔야합니다.

#jekyll site 파일 세팅하기 : step-3-optional-generate-jekyll-site-files
#jekyll theme 추가하기 : adding-a-jekyll-theme-to-your-site

#주의할 점은
Gemfile의 텍스트는
1. GitHub page에 올릴경우
source "https://rubygems.org"
ruby RUBY_VERSION

# Hello! This is where you manage which Jekyll version is used to run.
# When you want to use a different version, change it below, save the
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
#
#     bundle exec jekyll serve
#
# This will help ensure the proper Jekyll version is running.
# Happy Jekylling!
#gem "jekyll", "3.2.1"

# This is the default theme for new Jekyll sites. You may change this to anything you like.
gem "minima"

# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
gem "github-pages", group: :jekyll_plugins

# If you have any plugins, put them here!
# group :jekyll_plugins do
#   gem "jekyll-github-metadata", "~> 1.0"
# end
2. Local에서 확인할 경우
source "https://rubygems.org"
ruby RUBY_VERSION

# Hello! This is where you manage which Jekyll version is used to run.
# When you want to use a different version, change it below, save the
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
#
#     bundle exec jekyll serve
#
# This will help ensure the proper Jekyll version is running.
# Happy Jekylling!
gem "jekyll", "3.2.1"

# This is the default theme for new Jekyll sites. You may change this to anything you like.
gem "minima"

# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
# gem "github-pages", group: :jekyll_plugins

# If you have any plugins, put them here!
# group :jekyll_plugins do
#   gem "jekyll-github-metadata", "~> 1.0"
# end

이렇게 세팅하고
$bundle install
$bundle exec jekyll serve

결과화면은 아래와 같습니다.




제 결과 페이지 입니다.
https://pineoc.github.io/

글을 올리는 방법은 다음 포스트에서 진행해봐야겠습니다.
I hope this will help you!

2016년 10월 12일 수요일

JS13kgames, 13KB 용량의 게임을 만드는 개발대회



http://js13kgames.com/

2012년도 부터 계속 매년 게임 개발 대회를 하는 곳입니다.
특이한 것은 13KB이하의 게임을 만들기 대회라는 것이지요.
올해 게임 대회는 한달 전에 끝났습니다. (8/13 ~ 9/13)
게임 대회 결과물은 아래 링크에서 보실 수 있습니다.
http://js13kgames.com/entries/2016

올해 우승작은 아래와 같습니다.
http://2016.js13kgames.com/#winners

하나하나 모두 재미있는 게임이네요.
13KB의 게임 만드는 것이 어려울텐데
신기한 것 같습니다. 도전은 힘들테지만 게임 만드는데에
용량을 줄이고 최적화하는 모습을 계속 지켜보면 재미있을 것 같습니다.

(펌) MySQL 쓰면서 하지 말아야할 것 17가지

하지말아야할 점이 17가지가 되는데
다 이해하지는 못하지만 두고두고 생각하고 공부하면서 알아봐야겠습니다.

https://blog.lael.be/post/370


2016년 10월 4일 화요일

2016년 10월 2일 일요일

Cocos2d-x 3.13.1 릴리즈 노트

https://github.com/cocos2d/cocos2d-x/blob/v3/CHANGELOG

원래는 3.14 버전 릴리즈 노트를 다음에 들고 오려고했는데,
3.13 버전에 이슈들이 많아서 수정한 버전이 이번에 릴리즈 되어서 소개하게되었습니다.

▪ `Label` color was broken
▪ applications will crash in debug mode if you don’t specify a design resolution
▪ may crash if coming from background by clicking application icon on Android
▪ `AudioEngine`: could not play audio if the audio lies outside APK. Also `AudioEngine::stop()` will trigger finish callback on Android.
▪ applications would crash if using `SimpleAudioEngine` or the new `AudioEngine` if playing audio on Android 2.3.x
▪ `object.setString()` has not effect if passing a number on JavaScript bindings.

수정된 부분은
- 라벨이 색깔 설정이 잘 안되었던 버그
- design resolution 설정안했을때 앱이 죽는 버그
- 안드로이드에서 백그라운드 갔다가 다시 돌아올 때 죽는 버그
- AudioEngine 에서, 오디오 파일이 APK파일 밖에 있는 경우 플레이가 안되는 버그
- 안드로이드 2.3.x 버전에서 AudioEngine이나 SimpleAudioEngine 을 사용할 경우 죽는 버그
- 자바스크립트에서, object.setString() 함수가 적용이 안되었던 버그 (숫자를 파라미터로 넘길때)

수정된 버전을 사용해야겠습니다.
버그를 막기 위해서!


2016년 9월 27일 화요일

Cocos Creator 1.2.2 릴리즈

http://discuss.cocos2d-x.org/t/cocos-creator-1-2-2-released/32286/10


v1.2.2 Changelog:

Engine

  • [Engine] Refactored index.html page for Web build, improve page initialization speed massively.
  • [Engine] Add API cc.view.enableAntiAlias(false) to disable bilinear image smoothing for pixel-art graphics.
  • [Engine] Support cc.view.enableAntiAlias(false) API in native platform.
  • [Engine] Fixed pop-up keyboard on some tablet device with wider screen will cause screen orientation to change issue.
  • [Engine] Fixed register events to a deactivated node in start method will make the node respond to event on native platform issue.
  • [Engine] Fixed register events to a deactivated node, the event will not work after node is activated issue.
  • [Engine] Fixed some registered node event will not work when Web window lost and regain focus.
  • [Engine] Fixed when loading TTF assets, the loaded callback may not fire at the correct moment issue.
  • [Engine] Fixed using deprecated API on mobile browser will report error directly issue.
  • [Action] Fixed tintTo and tintBy not working properly on native platform issue.
  • [Action] Fixed using cc.targetedAction will report error issue.

Editor

  • [Prefab] Add synchronized Prefab option, user can select whether a prefab should sync changes to all instances in scene.
  • [Animation] Fixed the red needle in timeline may break issue.
  • [Animation] Fixed when dragging node in scene to edit position keyframe may not work issue.
  • [Animation] Fixed undo node deleting operation may cause updateAnimatingInEditMode to report error issue.
  • [Console] Added ignore case switch to determine whether filter is case-sensitive.
  • [SDK] Fixed inserting AnySDK runtime library to Web build may not work issue.

Component

  • [Label+Widget] Fixed setting Label's Overflow to SHRINK and leave string empty, turning on one dimension align for Widget will crash on native platform issue.
  • [Particle] Fixed when texture set to null will crash on native platform issue.
  • [Tilemap] Fixed deleting node with Tiledmap and undo will make the node not visible issue.
  • [Graphics] Fixed Helper module not found in case-sensitive OS issue.
  • [EditBox] Fixed resize node has wrong effect issue on mac platform issue.
  • [Button] mouseover event will not be registered if button's hover sprite is null.
  • [ScrollView] Fixed save scene will cause ScrollView's content node get random position issue.
  • [ScrollView] Fixed disabled Scrollview component can still respond to touch event issue.
  • [ScrollView] Added TOUCH_UP event callback.
Resources:
Read the documentation9
YouTube4


릴리즈 노트는 위와 같습니다.
큰 변경점은 없는 것 같은데요, 버그 수정과 기능의 보강이 주를 이룬 것으로 보입니다.

JIRA Plugin - ScriptRunner 소개 #2

관련 글 소개 #1:  https://pineoc.blogspot.com/2019/03/scriptrunner-1.html ScriptRunner 소개 #2 지난 글에서는 Behaviours를 보았고 다음 내용인 콘솔, 리스너 등을 ...