It takes me some time to record a video and upload it to Youtube(What a bloody GFW).hum..............
As the description I post on Youtube channel. This app is developed by using Qt3D/QML integrated with Bullet 3D physics engine.Due to this game is 3D-game,There are 2 types of play,one is controlled by user(you can regard N950/N9 as game controller) ,another is based on sensor.More details,pls watch recorded video.The explosion effect looks like not bad.As you see,I deploy this game on N950,Basically,The performance and some details are not as good as expected.Still Some bugs are needed to be fixed and lots of room to improve,such as better 3D model, effect,audio,optimization on painting to boost FPS.On the other hand,This app is being built on Qt3D-1.0-tp1.which is not blown release(Qt3D is still in-progress).That's why I've not released the debian package and source code yet.So stay tuned.
In one word,It's far from being stable,playable and complete from my perspective.
Keep going.Hopefully you'll like it when released. :)
3D-HappyFrog is on the way,90 percent has been done.I suppose that it will be going to be released next week or the week after next.Be patient and it will take a while.I am working hard on the rest of it.One problem encounters besides coding,I've been racking my brain to design brand-new levels and no good idea about this though by far.Evidently I find that level design is much more difficult than programming.
So if you were me,how do you to design there levels?
One snapshot as following.
This is my humble design.If there is no any other level easier than this one,I decide to mark it as level one.If you lost more than 1 life here...(*(JHIY*T&T*&*^(H
What you have still now? fixtures?
Of course, All fixture support local transformation.
That's it,If you have good ideas,pls contact me via e-mails,expecting your wonderful work.
Although failed to be the top 5 in the final(which means no chance to get my favorate mobile device N900 before N9/N950 was officially announced by NOKIA at Singapore),Nothing regret.My app HappyFrog attracts lots of attention.Besides gift,it's really good feeling for me to see people get something pretty enjoyable out of it.That's why I keeping working on that project.
Btw,I almost forgot the PDF ebook is still on my KDE desktop but for this gift.
In the wake of angry bird become more and more popular,so I just wonder how to implement it with Qt.Below are some hint.
1.GraphicsView Framework(or Declarative UI) interagted with Box2D physics engine.
2.Explosion effect can be done with function drawPixmapFragment(which is introduced in Qt 4.7,make an optimize on state changes for QPainter,so it's faster than multiple calls to drawPixmap())
3.In order to boost my development,I wanna use some Element from Qml,such as flickAble or ListView,etc..
The first two are not difficult to implement it.
basically,lots of people want to know how to integrated qml with c++ in this demo,in particularly how to add item in the flickAble element (you konw,I am a lazy and humble guy and on the flip side,I guest not everyone konws that how to make kinetic animation,In fact it's not difficult).(more detaileds watch the video Below).
In order to dynamically add item in the flickable,we can write some code in qml
Flickable {
id: myFlickable
......
function addItem(file) {
var component = Qt.createComponent(file)
component.createObject(myFlickable.contentItem);
}
}
In case code you wrote like above,unfortunately,item inserted dynamiclly can not be "flicked",so it didn't work out if you forget passing Flickable.contentItem for the item created,even thought it seems like itemLoader is a "child" of myFlickable.
In C++
consider about foregoing problem we met.There are two little things we need to care about.
1.How to get the pointer of "Flickable"
2.How to get the pointer of "myFlickable.contentItem"(a property of Flickable)
;) some related apis have been prepared by Qt,easy and convinient.
1.create QtObject Element for Flickable element,as the qt document mentioned "It can also be useful for C++ integration, as it is just a plain QObject.This allows a C++ application to locate an item within a QML component using the QObject::findChild() method".
2.with QObject'property to fetch the pointer of Flickable.contentItem.
main.qml
That's all.Btw.
If you are a qml enthusiast,qml-Box2d(http://gitorious.org/qml-box2d) plugins is on the
way,here,Maybe it's useful for you to write fantastic game or something related stuff.
of course,HappyFrog is an opensource project,you can find here http://code.google.com/p/happyfrog/
you can also checkout the latest source which is hosted on the my gitorious page.
git clone git://gitorious.org/happyfrog/happyfrog.git
I am on the way to become 25 years ago.And on the other hand I am a social network dropout as well........I don't know why. So no time for wasting and posturing