j3k0 / starling-chat-console

A chat console for starling
Apache License 2.0
3 stars 0 forks source link

Can't compile test application #1

Closed j3k0 closed 8 years ago

j3k0 commented 8 years ago

Seems like AppTestHarness is missing in the git repo.

verity:starling-chat-console jeko$ amxmlc -library-path=lib/starling.swc src/fovea/chat/app/App.as
Loading configuration: /.../flex/frameworks/air-config.xml

/.../starling-chat-console/src/fovea/chat/app/App.as:21
Error: Access of possibly undefined property AppTestHarness.
            _starling = new Starling(AppTestHarness, stage, viewPort);
                                     ^
j3k0 commented 8 years ago

@JustinWalkerThotkraft please advise

JustinWalkerThotkraft commented 8 years ago

Sorry for the delay Ive uploaded a new build it should take care of that problem.

j3k0 commented 8 years ago

OK. I've been able to build.

However:

screen shot 2015-10-25 at 08 50 12

Anything else to expect? How should this be used?

JustinWalkerThotkraft commented 8 years ago

Tap or click the quad to open the chat window

JustinWalkerThotkraft commented 8 years ago

It uses native starling tween to open.

JustinWalkerThotkraft commented 8 years ago

The test theme and server are both in the test_data folder. This demo isnt running live though it is pulling the avatar images from my server at thotkraft.

JustinWalkerThotkraft commented 8 years ago

The chat window can be changed to have rounded edges but that will require the starling graphic extension library. Its about 20 or so classes. Secondly, I can mask the avatar images to be circles at runtime if your avatar images arent circles. This will require the PixelMaskDisplayObject. This is a separate graphics class that can be found here at github. In my original implementation I masked the avatar images but decided against it for fear that you werent using this class. All these changes are cursory and can be made in a couple of hours if you chose to use these classes in your app. It does make things a lot easier when it comes to building ui's. Ive also built a jsfl panel and tool that I can tailor to your needs to export scenes and graphics from flash in xml format. It makes ui work a lot easier than trying to implement uis in pure code and bitmaps. We can discuss that at a later date, as it extends outside of the framework of this task.

j3k0 commented 8 years ago

Clicking the quad has no effect here. Nothing shows on the logs but:

[Starling] Initialization complete.
[Starling] Display Driver: OpenGL (Baseline Constrained)

No need for PixelMaskDisplayObject: images are guaranteed to be circles.

Sure, let's talk about this jsfl tool later.

JustinWalkerThotkraft commented 8 years ago

Let me check something. Sorry about this.

JustinWalkerThotkraft commented 8 years ago

The update is in. I made the error of pulling the wrong sizing variables when defining the position of the console. I used flash.display.stage.fullScreenWidth, this on mobile works fine, however in web of swf format, the variable pulls your monitor width. This leads to a rather unpleasant change for the TestHarness. The harness now needs the appropriate Theme to run correctly. I've added two themes. ThemeWeb and ThemeMobile, each defines run settings for its denoted platform. When testing a web or swf version of the application please use ThemeWeb, on line: 37 of App.as. If testing for mobile please use ThemeMobile on line 37 of App.as. While going through the code I notice a few changes to make it look and run smoother. I put those changes in with this push. Now when creating your app, you may need to define whether its Mobile or not. In the past, I've relied on Compiler variables for this functionality. When it comes to I/O the mobile app is going to need to pull from its local file repos, however in the web version it will need to pull from your server. I don't know the nature of your app, however, if its an mmo and your using multiple scenes to define areas, I thoroughly recommend using a single branch and implementing Compiler variables coupled with an asp style DataFactory setup. This is very different from the DataFactory in Feathers, this is more akin to a DAO's, only its client-side as oppose to server-side, using a layer of abstraction to define how data is stored and pulled.

I don't know if you're building using FlashBuilder, I am and I'm sorry for the confusion I assumed you were and that may have caused some wires to become crossed. In FlashBuilder, I generally build as an ActionScript Project or ActionScript Mobile Project as oppose to a Flex project. In these scenarios, mxml's are either generated internally or are not used. For placement, I rely on my own loading schemes and objects using the aforementioned export tool. Once again, let me apologize for the confusion. I hope this doesn't cast doubt on work ethic or skill level.

JustinWalkerThotkraft commented 8 years ago

The same setup applies, use App.as as your Default Application or main class. However App.as now contains a listener for ROOT_CREATED. In this listener callback there's an init function for the TestHarness that defines the theme used in app. For mobile applications use ThemeMobile. For web deployment, use ThemeWeb. Both of these classes can be found at fovea.app.test_data.

j3k0 commented 8 years ago

Hey @JustinWalkerThotkraft

Sorry to say I still experience the same behaviour: black green, green square, nothing happening when I click the green square (or anywhere on screen).

I'm not using Flash Builder, I need projects to compile from the command line: the whole project is being built and tested on a headless linux continuous integration server.

As for the backend, it's a RESTful chat server, being developed in parallel to your work. I'll most probably do the final integration.

j3k0 commented 8 years ago

Three more things:

If we're to develop a longer term collaboration, you will have to get used to git and command-line tools, that's how we work.

JustinWalkerThotkraft commented 8 years ago

Are you getting any compile errors or runtime errors.

JustinWalkerThotkraft commented 8 years ago

Is the makefile in the repository, Im sorry, I cant seem to find it.

JustinWalkerThotkraft commented 8 years ago

Im going to commit using ThemeWeb, that should take care of the problem.

JustinWalkerThotkraft commented 8 years ago

Im not a fan of command line building for development. It works well when you need autonomous builds deployed, you know scheduled builds from a server, but for development you really need debugging tools. It reduces the workload by half if not more.

I think git merge is called by git desktop when a pull command is run. I see the merge before I push.

j3k0 commented 8 years ago

My changes (including the Makefile) are in the test-app branch. I wanted to let you do the git merge of this branch into master so it doesn't break you setup.

pull is doing a specific case of merge: it merges the remote branch linked to your local active branch. For example: remote's master branched, referred as origin/master, is merged into local master branch.

However, to merge someone else's work that lives in a different branch, this has to be done manually. by running git merge origin/test-app for instance. Git desktop has certainly a way to handle merging someone else's branch, as this is the usual git workflow.

Note that stepping through the code doesn't require an IDE, fdb does the job just fine... If that matters.