|
Author |
Topic: Release 60: Shark Attack (Read 729 times) |
|
fry
|
Release 60: Shark Attack
« on: Sep 23rd, 2003, 1:14am » |
|
release 60 is in the process of being uploaded and posted. it's a biggun. .... IMPORTANT NOTE! ACHTUNG! YOUR OLD CODE WILL PROBABLY BE BROKEN WITH THIS RELEASE. read the section on api changes very carefully, because a few functions have been renamed, and the behavior of background() has changed completely. almost all programs will have to be updated. but the happy part is that there are many many new features, and this change to the behavior of background() means lots of positive things. we decided to make as many of these naming changes as possible all at once, so that you only have to really mess with your code a single time. as casey put it, it's better to remove the band-aid quickly. if you're confused, all the examples have been updated for this release to use the new function names and background methods. a quick glance through them should help clear things up. [ api changes -- read carefully, avoid headaches ] - noBackground() no longer exists, so remove it from your code. - background() actually clears the screen immediately, rather than simply setting a color. this means that you should use background() a the beginning of loop(), if you want your applications to behave similar to the way they used to. - hint(SMOOTH_IMAGES) no longer exists, and is simply the default. just remove it from your code. if you get an error saying: "No field named "SMOOTH_IMAGES" was found in type "Temporary_NNNN_NNNN". you should remove the line "hint(SMOOTH_IMAGES);" from your program. SMOOTH_IMAGES is no longer needed and has been removed. - fill() no longer colors images. if you want to color images, use tint(), which is just like its cousins fill and stroke. like its cousins, there's also noTint(), his (her?) contrarian twin. - getPixel() -> get() and setPixel() -> set() - get() and set() work directly on BImage objects. - get(int x, int y, int width, int height) copies a section of pixels and puts them in a BImage. (based on code from toxi) - screenGrab() -> saveFrame() saveFrame() will save a sequence of numbered tiff images saveFrame("blah.tif") will save the current frame as blah.tif saveFrame("blah-####.tif") will save a sequence of images as blah-0000.tif, blah-0001.tif, etc. saveFrame("blah.tga") will save the current frame as targa. saveFrame("blah-####.tga") is up to you to figure out. - strokeWidth() -> strokeWeight() - bezier(a, b, c, d, t) -> bezierPoint(a, b, c, d, t); curve(a, b, c, d, t) -> curvePoint(a, b, c, d, t); - vertexTexture(u, v) has been rolled into vertex(), so: vertex(x, y); vertexTexture(u, v); -> vertex(x, y, u, v); vertex(x, y, z); vertexTexture(u, v); -> vertex(x, y, z, u, v); - vertexNormal() -> normal() - font.stringWidth(String s) -> font.width(String s) font.charWidth(char c) -> font.width(char c) - removed control key 'F' for 'reference', gave it to 'find'. also set cmd-shift-f as 'find in reference'.
|
|
|
|
fry
|
Re: Release 60: Shark Attack
« Reply #1 on: Sep 23rd, 2003, 1:14am » |
|
[ additions ] - good god, an implementation of find & replace, which means we've caught up to 1984. - BImage.save(String filename) has been implemented. the filename should be something and a .tif or .tga at the end to determine how the file should be saved. - background(BImage image); has been implemented, so your background can automatically be replaced with an image. note that the image must be the same size as your drawing area. - BImage.copy() returns a copy of an image. better yet, BImage.copy(int width, int height) returns a copy of an image, but resized to that specific size. (code contributed by toxi) - online() returns a true or false for whether an applet is online or not. (or really, whether it's running in a proper applet viewer) - status(String text) shows a string in a browser's status bar, or sends it to the console in an application. (this replaces Applet.showStatus if you're familiar with that) - bezierTangent() now implemented, but curveTangent() is unfinished. - param(String p) reads params from your html code for your applet. - text(float something, float x, float y) and text(int something, float x, float y) have been implemented. just because their syntax is otherwise cumbersome. - textMode(ALIGN_LEFT), textMode(ALIGN_CENTER), textMode(ALIGN_RIGHT) are implemented, and do what you might expect them to. - clean and pretty two dimensional circles and ellipses have been implemented. this will speed and beautify your 2D elliptical needs. - added several error messages to provide more useful feedback about misuse of font api functions or common problems. - added an error message (instead of failing silently) for when noCursor() is attempted in an exported applet. - BImage.blendMode() has been added, thanks to toxi. details and examples are forthcoming. - it is now possible to draw inside of setup(). - you are no longer restricted to using numbers (rather than variables) for size() and background(). - BGraphics now subclasses BImage. if you don't know what that means, don't worry about it. just trust me.
|
|
|
|
fry
|
Re: Release 60: Shark Attack
« Reply #3 on: Sep 23rd, 2003, 1:15am » |
|
[ known problems, pardon our dust ] - macosx doesn't provide an option to 'cancel' when it so politely asks if you want to "save changes before quitting". this is because of weirdness in apple's java that we're trying to straighten out. - lines with stroke weights that aren't 1 are probably broken. - single pixel lines still have some problems with drawing over things. - the size of exported applets has jumped in this release. this will get smaller again in a future release. we're in the middle of transitioning between two different sets of rendering/graphics code. - clipping planes are not yet implemented. meaning that objects may sometimes fly into the camera and turn upside down or do other tricks. http://proce55ing.net/discourse/yabb/board_Proce55ing_software__bugs_action_display_num_1058491568.html http://proce55ing.net/discourse/yabb/board_Proce55ing_software__bugs_action_display_num_1052313604_start_0.html http://proce55ing.net/discourse/yabb/board_Proce55ing_software__bugs_action_display_num_1042699742.html - concave polygons still don't work, meaning that lots of irregular polygons won't draw properly. http://proce55ing.net/discourse/yabb/board_Proce55ing_software__bugs_action_display_num_1062469819_start_0.html - jikes is ~9 megabytes in size, which is a bit obnoxious. it doesn't hurt anything but we plan to put it on a diet for a future release. http://proce55ing.net/discourse/yabb/board_Proce55ing_software__bugs_action_display_num_1062581723.html - curveTangent() is not yet implemented. contributions welcome. - strokeMiter() and strokeJoin() exist but are not implemented. - textures warp in strange ways due to perspective problems. http://proce55ing.net/discourse/yabb/board_Proce55ing_software__bugs_action_display_num_1050650262.html - smooth() is not completely implemented. there will be quirks in how it draws (like a weird flat line at the end of a shape, or areas that are less than smooth). - on windows, processing can't be run from a folder that has non-ascii characters in its name. http://proce55ing.net/discourse/yabb/board_Proce55ing_software__bugs_action_display_num_1062794781.html - video examples sometimes crash the whole environment on windows - net needs work, it's currently sending unicode, instead of ascii or UTF-8, data. this can cause problems with other programs.
|
|
|
|
|